boss-agent-cli
Use this MCP server to operate BOSS Zhipin job workflows for both candidates and recruiters, including persistent wizard runs, job search and tracking, AI resume support, and recruiter automation.
Check login/environment and manage config: status, doctor, config, clean, cities.
Search candidate jobs with filters (city, salary, experience, education, welfare AND matching, HR activity), view details/recommendations/history.
Perform candidate actions: greet, batch greet, apply, chat, message history, mark contacts, exchange contact, interviews, pipeline, digest, follow-up, stats.
Maintain local job tracking: shortlist add/list/annotate/compare/remove, presets, watch, favorites, export.
Use resumable crawl outputs: crawl status/results and import results into shortlist.
Use AI/resume tools: list/show resumes, analyze JD, optimize/suggest resume, fit jobs, suggest keywords, cover letter, interview prep, chat coach, reply drafts.
Run persistent workflows via boss_wizard: run, resume, status, stop with goals, roles, inputs, timeouts, retries.
Operate recruiter workflows: whoami, applications, candidate search, recommendations, greet, chat/messages, resume view, exchange, reply, request/accept/download resume, job online/offline.
Use recruitment automation: agent run/train, legacy review approve/reject, pending queue, stats, and stop/circuit breaker.
Provides integration with local AI models via Ollama, enabling AI-powered job analysis, resume optimization, interview preparation, and communication coaching using locally hosted models.
Provides integration with OpenAI-compatible APIs for AI-powered job analysis, resume optimization, interview preparation, and communication coaching using cloud-based models.
boss-agent-cli
专为 AI Agent 设计的 BOSS 直聘双端 CLI 工具
求职者:搜索 · 福利筛选 · 个性化推荐 · 自动打招呼 · 求职流水线 · 增量监控 · AI 简历优化
招聘者:候选人检索 · 沟通回复 · 简历请求 · 职位上下线 · 多平台抽象
安装 · 快速开始 · 角色模式 · Agent 集成 · 命令参考 · 排障 · 架构 · 更新日志 · 路线图
中文 | English
A CLI tool designed for AI Agents to interact with BOSS Zhipin (China's largest recruitment platform). Structured JSON output, schema-driven capability discovery, 4-tier login fallback, recruiter workflow support, and a cross-platform adapter layer. See README.en.md for the English version.
💡 为什么用 boss-agent-cli?
传统求职:打开网页 → 翻几十页 → 逐个看详情 → 手动打招呼 → 忘了跟进谁。
boss-agent-cli 让 AI Agent 替你完成全部操作:
boss search "Golang" --city 广州 --welfare "双休,五险一金" # 搜索 + 福利筛选
boss detail <security_id> # 查看详情
boss greet <security_id> <job_id> # 一键打招呼
boss pipeline # 流水线追踪
boss digest # 每日汇报所有输出为 结构化 JSON,Agent 一调用就能理解,一调用就能行动。
Related MCP server: boss-cli
🧭 导航目录
🌟 核心能力
求职者工作流
🔍 职位发现:关键词搜索、8 维筛选、个性化推荐、按编号回看同一条结果。命令:searchrecommendshow🎯 福利筛选:--welfare "双休,五险一金"会自动翻页、补抓详情、按 AND 逻辑做真实匹配。命令:search --welfare👋 主动出击:从职位详情直接打招呼、批量打招呼、立即沟通投递。命令:detailgreetbatch-greetapply📊 流程推进:流水线、跟进提醒、每日摘要、投递转化漏斗一条线闭环。命令:pipelinefollow-updigeststats👀 增量监控:保存搜索条件、定期执行、标出新职位、沉淀 shortlist。命令:watchpresetshortlist💬 沟通管理:聊天列表、消息历史、结构化摘要、标签和联系方式交换。命令:chatchatmsgchat-summarymarkexchange🤖 AI 求职增强:JD 分析、简历润色、定向优化、模拟面试、沟通指导。命令:ai analyze-jdai polishai optimizeai interview-prepai chat-coach
招聘者工作流
👔 候选人运营:投递申请、候选人搜索、沟通列表、在线简历查看与附件简历请求。命令:hr applicationshr candidateshr chathr resumehr request-resume💬 招聘沟通:直接回复候选人消息,把 HR 场景纳入同一套 JSON 协议。命令:hr reply📌 职位管理:查看职位、上架、下架,作为招聘者端的最小可操作闭环。命令:hr jobs listhr jobs onlinehr jobs offline
平台与集成基础
🔌 多平台抽象:Platform/RecruiterPlatform双注册表已落地,BOSS 直聘可用、智联招聘骨架已接入。命令:--platform zhipin|zhilian📤 结构化输出:stdout 只输出 JSON 信封,适合 CLI 编排、Shell Agent、MCP 和 Python SDK。命令:schemaexport🧩 Agent 接入:同一套能力可通过 Skill、subprocess、MCP、Python SDK 四种路径暴露给 Agent。文档:docs/agent-quickstart.mddocs/agent-hosts.md
📦 安装
# 推荐:通过 uv 安装(秒级,自动隔离)
uv tool install boss-agent-cli
# 安装浏览器(用于登录)
patchright install chromium# pipx(隔离环境)
pipx install boss-agent-cli
patchright install chromium
# pip
pip install boss-agent-cli
patchright install chromium
# 从源码(开发用)
git clone https://github.com/can4hou6joeng4/boss-agent-cli.git
cd boss-agent-cli
uv sync --all-extras
uv run patchright install chromium🚀 快速开始
# 1. 环境自检
boss doctor
# 2. 登录(自动四级降级)
boss login
# 3. 验证登录态
boss status
# 4. 搜索广州的 Golang 职位,要求双休+五险一金
boss search "Golang" --city 广州 --welfare "双休,五险一金"
# 5. 查看详情 → 打招呼 → 投递
boss detail <security_id>
boss greet <security_id> <job_id>
boss apply <security_id> <job_id>
# 6. 推荐 + 导出
boss recommend
boss export "Golang" --city 广州 --count 50 -o jobs.csv
# 7. 流水线 + 每日摘要
boss pipeline
boss digest
# 8. 增量监控
boss watch add my-golang "Golang" --city 广州 --welfare "双休"
boss watch run my-golang
# 9. 招聘者模式(HR 视角)
boss hr applications # 候选人投递申请
boss hr candidates "Golang" # 搜索候选人
boss hr reply <friend_id> "你好" # 回复消息
boss hr jobs list # 我发布的职位🔐 登录链路
boss login 采用四级降级策略,适配不同环境:
级别 | 方式 | 说明 | 需要浏览器? |
1 | Cookie 提取 | 从本地 Chrome/Firefox/Edge 等 10+ 浏览器免扫码提取 | 否 |
2 | CDP 登录 | 复用带 | 需 Chrome |
3 | QR httpx | 纯 HTTP 二维码扫码,无需安装任何浏览器 | 否 |
4 | patchright | 反检测 Chromium 兜底 | 需 Chromium |
# macOS
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
--remote-debugging-port=9222 --user-data-dir=/tmp/boss-chrome
# Linux
google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/boss-chrome
# 使用 CDP 登录
boss --cdp-url http://localhost:9222 login --cdp🎭 角色模式与多平台
boss-agent-cli 同时覆盖求职者和招聘者两端,并为后续接入更多招聘平台做了抽象。
角色切换
选项 | 说明 | 典型命令 |
| 求职者视角 |
|
| 招聘者视角 |
|
快捷入口:boss hr <子命令> 会自动把当前会话切换到招聘者角色,不必显式传 --role。
# 方式 A: --role 显式指定
boss --role recruiter ...
# 方式 B: 招聘者快捷组(自动切换 role)
boss hr applications
boss hr candidates "Golang"多平台抽象
Platform / RecruiterPlatform 双注册表让命令层不耦合具体平台协议:
平台 | 求职者 | 招聘者 | 状态 |
BOSS 直聘 ( | ✅ | ✅ | 默认 |
智联招聘 ( | 🟡 骨架 | — | 真实现追踪 Issue #140 |
# 指定平台
boss --platform zhilian search "Python"
# 设为默认
boss config set platform zhilian设计细节见 docs/platform-abstraction.md。
🤖 AI Agent 集成
推荐先阅读:Agent Quickstart · Host Examples · Capability Matrix
方式一:Skill 安装(推荐)
npx skills add can4hou6joeng4/boss-agent-cli安装后 Agent 自动获得调用 boss 命令的能力,无需手动配置。
方式二:手动配置
在 AI Agent 的规则文件中添加:
当用户要求搜索职位、投递、打招呼等 BOSS 直聘操作时,通过 Bash 调用 `boss` CLI:
1. 运行 `boss status` 检查登录态
2. 若未登录,运行 `boss login` 提示用户扫码
3. 根据用户意图调用 search / recommend / detail / greet
4. 解析 stdout JSON,`ok` 字段判断成败
5. 用户提到福利要求时使用 `--welfare` 参数方式三:Python 直接嵌入(不走 subprocess)
包已随 py.typed 标记发布,可直接作为类型化的 Python 库使用:
from boss_agent_cli import AuthManager, BossClient, AuthRequired
auth = AuthManager(data_dir=Path("~/.boss-agent").expanduser())
try:
with BossClient(auth) as client:
result = client.search_jobs("Golang", city="广州")
except AuthRequired:
... # 提示用户 boss login公开 API(详见 boss_agent_cli.__all__):AuthManager / BossClient / CacheStore / JobItem / JobDetail / AIService / ResumeData 等核心类型。
输出协议
所有命令输出 JSON 到 stdout,统一信封格式:
{
"ok": true,
"schema_version": "1.0",
"command": "search",
"data": [...],
"pagination": {"page": 1, "has_more": true, "total": 15},
"error": null,
"hints": {"next_actions": ["boss detail <security_id>"]}
}约定 | 说明 |
| 仅 JSON 结构化数据 |
| 日志和进度信息 |
| 命令成功 ( |
| 命令失败 ( |
📚 命令参考
基础操作
命令 | 说明 |
| 输出完整工具能力描述 JSON(33 个顶层命令 + hr 分组展开,Agent 首先调用) |
| 四级降级登录 |
| 退出登录 |
| 检查登录态 |
| 诊断环境、依赖、凭据完整性和网络 |
| 我的信息(用户/简历/期望/投递记录) |
职位搜索
命令 | 说明 |
| 搜索职位(支持 |
| 个性化推荐 |
| 职位详情( |
| 按编号查看上次搜索结果 |
| 40 个支持城市 |
求职动作
命令 | 说明 |
| 打招呼 |
| 批量打招呼(上限 10) |
| 投递/立即沟通(幂等) |
| 交换手机/微信 |
沟通跟进
命令 | 说明 |
| 沟通列表(导出 html/md/csv/json) |
| 聊天消息历史 |
| 结构化摘要 |
| 标签管理(9 种) |
| 面试邀请 |
| 浏览历史 |
流水线监控
命令 | 说明 |
| 求职流水线(各阶段状态) |
| 跟进提醒(超时未推进) |
| 每日摘要 |
| 增量监控 |
| 候选池 |
| 搜索预设 |
招聘者模式
命令 | 说明 |
| 查看候选人投递申请列表 |
| 查看或请求候选人简历 |
| 查看与候选人的沟通列表 |
| 职位列表与上下线管理 |
| 搜索候选人 |
| 回复候选人消息 |
| 请求候选人分享附件简历 |
简历与 AI
命令 | 说明 |
| 本地简历管理 |
| 配置 AI 服务 |
| 分析岗位要求 |
| 润色简历 |
| 针对目标岗位优化 |
| 求职建议 |
| 生成招聘者消息回复草稿 |
| 基于 JD 生成模拟面试题 |
| 基于聊天记录给沟通建议 |
支持 Claude 4.7 / GPT-5 / DeepSeek-V3 / Qwen3 等最新模型,详见 推荐模型与入口。
系统管理
命令 | 说明 |
| 配置管理 |
| 清理缓存 |
| 投递转化漏斗统计(greeted/applied/shortlist) |
| 导出结果(CSV/JSON) |
boss search "golang" \
--city 广州 \ # 城市(40 个可选)
--salary 20-50K \ # 薪资范围
--experience 3-5年 \ # 经验要求
--education 本科 \ # 学历要求
--scale 100-499人 \ # 公司规模
--industry 互联网 \ # 行业
--stage 已上市 \ # 融资阶段
--welfare "双休,五险一金" # 福利筛选(AND 逻辑)福利筛选工作原理:
先检查职位福利标签(
welfareList)标签不匹配时自动获取职位描述全文搜索
自动翻页(最多 5 页)
每个结果带
welfare_match说明匹配来源
支持关键词:双休 五险一金 年终奖 餐补 住房补贴 定期体检 股票期权 加班补助 带薪年假
🔧 诊断与排障
boss doctor检查项 | 说明 |
| Python 版本 >= 3.10 |
| CLI 已安装 |
| Chromium 已安装 |
| 本地浏览器 Cookie 可提取 |
| 登录态存在且可解密 |
| 核心凭据(wt2 / stoken) |
| 辅助凭据(wbg / zp_at) |
| Chrome 调试端口可连 |
| zhipin.com 可访问 |
# 安装浏览器内核
patchright install chromium
# 重建登录态
boss logout && boss login
# CDP 诊断
boss --cdp-url http://localhost:9222 doctorauth_session 显示"损坏":登录态来自旧机器指纹或文件损坏 → boss logout && boss login
auth_token_quality 各状态含义:
wt2/stoken 均存在:完整,可正常使用wt2 存在,stoken 缺失:部分可用,接口失败时boss login刷新wt2 缺失:无效 →boss logout && boss login
错误码 | 含义 | Agent 自动修复 |
| 未登录 |
|
| 登录过期 |
|
| 频率过高 | 等待后重试 |
| Token 刷新失败 |
|
| 风控拦截 | CDP Chrome 重试 |
| 参数错误 | 修正参数 |
| 已打过招呼 | 跳过 |
| 今日次数用完 | 告知用户 |
| 网络错误 | 重试 |
| AI 未配置 |
|
⚙️ 配置
boss config list # 查看所有配置
boss config set default_city 广州 # 设置默认城市
boss config reset # 恢复默认~/.boss-agent/config.json:
{
"default_city": null,
"default_salary": null,
"request_delay": [1.5, 3.0],
"batch_greet_delay": [2.0, 5.0],
"batch_greet_max": 10,
"log_level": "error",
"login_timeout": 120,
"cdp_url": null,
"export_dir": null
}配置项 | 说明 |
| 默认城市 |
| 默认薪资范围 |
| 请求间隔(秒), |
| 批量打招呼间隔 |
| 批量打招呼上限 |
| 日志级别(error/warning/info/debug) |
| 登录超时(秒) |
| CDP 地址 |
| 导出目录 |
🏗️ 技术架构
CLI (Click)
│
├── AuthManager ── Cookie 提取 / CDP / QR httpx / patchright
│ └── TokenStore (Fernet + PBKDF2 机器绑定加密)
│
├── Platform 抽象层(多平台注册表)
│ ├── BossPlatform (求职者) / BossRecruiterPlatform (招聘者)
│ └── ZhilianPlatform (骨架已接入,真实现 tracking Issue #140)
│
├── BossClient / BossRecruiterClient ── httpx (低风险) + 浏览器 (高风险) 双通道
│ ├── RequestThrottle (高斯延迟 + 突发惩罚)
│ ├── BrowserSession (CDP / Bridge / patchright)
│ └── BOSS 直聘 wapi (求职者 30 端点 + 招聘者 24 端点,共 54 端点)
│
├── CacheStore (SQLite WAL)
├── AIService (OpenAI / Anthropic / 兼容 API)
└── output.py → JSON 信封 → stdout层级 | 选型 |
语言 | Python >= 3.10 |
CLI | Click |
HTTP | httpx |
浏览器 | patchright(Playwright 反检测 fork) |
Cookie | browser-cookie3(10+ 浏览器) |
加密 | cryptography (Fernet + PBKDF2) |
数据库 | sqlite3 (WAL 模式) |
渲染 | rich |
AI | OpenAI / Anthropic Chat Completions API |
测试 | pytest(1042 项) |
🤝 贡献
欢迎提交 Issue 和 Pull Request。
# 本地开发
git clone https://github.com/can4hou6joeng4/boss-agent-cli.git
cd boss-agent-cli
uv sync --all-extras
uv run pytest tests/ -v # 运行测试
uv run ruff check src/ # 代码检查🙏 致谢
geekgeekrun — 浏览器自动化 + 反检测策略
boss-cli — CLI 结构化输出 + Agent 友好设计
opencli — Browser Bridge 架构理念
⚠️ 免责声明
本项目仅用于学习交流,使用时请遵守相关法律法规及 BOSS 直聘平台用户协议。因不当使用产生的一切后果由使用者自行承担,与本项目作者无关。
📑 许可证
👭 友情链接
Available Tools
78 toolsboss_agent_pendingA
招聘自动化兼容接口:查看旧版本遗留的待执行动作队列 [可用性: roles=candidate, recruiter; candidate_platforms=zhipin; recruiter_platforms=zhipin]
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. 'View' (查看) implies a read-only listing, and the availability bracket usefully discloses role and platform gating, but the description says nothing about whether the pending items can be acted on, whether reads are safe, or what the queue contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence that puts the purpose before the bracketed metadata, with no filler. The bracketed availability block is dense but carries real information rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool with no output schema, the definition covers what the tool is but not what it returns: what a 'pending action' looks like, whether the list is empty in common cases, or what an agent should do with the result. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; the description correctly implies no input is needed to fetch the queue. Nothing is missing on the parameter side.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: viewing the pending-action queue left over from older versions ('查看旧版本遗留的待执行动作队列'). The 'legacy compatibility interface' framing distinguishes it from active agent tools such as boss_agent_run, boss_agent_review, and boss_agent_stats, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'compatibility interface' and 'left over from older versions' suggest it is for legacy workflow state, not for normal operation. The bracketed availability metadata (roles=candidate, recruiter; platforms=zhipin) gives a real precondition, but there is no explicit when-to-use versus when-not-to-use or a named alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_agent_reviewB
招聘自动化兼容接口:查看旧版本遗留的人工复核队列 [可用性: roles=candidate, recruiter; candidate_platforms=zhipin; recruiter_platforms=zhipin]
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. '查看' (view) plus the eligibility bracket establishes this as a read operation scoped to specific roles and platforms, which is useful. It still omits what the queue contains, whether it returns pending items with IDs suitable for approve/reject, and whether any state changes occur, which matters for a review-queue tool with action siblings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence with the resource view front-loaded, followed by a clearly delimited availability block. Nothing is redundant, though the bracketed metadata is dense and machine-style rather than explanatory, which slightly reduces readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no annotations, and no output schema, the description is the only source of truth. It establishes eligibility and that this is a legacy compatibility view, but does not describe what the agent receives back or how the review queue relates to the approve/reject siblings, leaving a meaningful gap for a workflow tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is no parameter meaning for the description to add; the baseline for an empty parameter surface is 4. The bracketed role and platform constraints are not parameters but effectively communicate invocation eligibility, which is a small bonus rather than a deduction.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a concrete verb and resource: a view of the legacy manual review queue exposed through the compatibility interface. It does not, however, distinguish this tool from closely related siblings such as boss_agent_pending or boss_agent_review_approve/reject, so an agent cannot infer from the description alone which of these queues or actions it should use.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracket supplies real preconditions: the allowed roles (candidate, recruiter) and platforms (zhipin only). That is a genuine eligibility gate, but the description never says when to pick this tool over boss_agent_pending, nor when not to use it (for example, only in legacy/compatibility flows), leaving the routing decision implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_agent_review_approveC
招聘自动化兼容接口:处理旧版本复核项并写入 pending 队列 [可用性: roles=candidate, recruiter; candidate_platforms=zhipin; recruiter_platforms=zhipin]
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | review item id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It does disclose one side effect — a write into the pending queue — but says nothing about what happens to the original review item, whether the operation is idempotent or reversible, what errors occur on a stale id, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the effect front-loaded, followed by an availability qualifier that earns its place. No redundant restatement of the tool name beyond what is needed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with full schema coverage and no output schema, the minimum is met. The gap is routing and outcome: an agent still cannot tell from the text whether this approves the item, how it differs from boss_agent_review, or what the pending-queue write produces.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter, and schema coverage is 100% with the description "review item id" already in the schema. The description adds no format, provenance, or sourcing detail (e.g., where to obtain the id), so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"处理旧版本复核项并写入 pending 队列" names a resource (legacy review items) and an effect (write to the pending queue), and the 'compatibility interface' framing signals it is a legacy shim. But the verb '处理' (process) is vague, and nothing says this is the 'approve' counterpart to boss_agent_review_reject / boss_agent_review, so an agent must infer the action from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability block (roles=candidate/recruiter, zhipin platform) is a real gating rule and useful. However, there is no guidance on when to choose this over the modern boss_agent_review path or boss_agent_pending, which is the critical routing decision for a compat shim.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_agent_review_rejectA
招聘自动化兼容接口:拒绝旧版本复核项并记录跳过事件 [可用性: roles=candidate, recruiter; candidate_platforms=zhipin; recruiter_platforms=zhipin]
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | review item id | |
| reason | No | 拒绝原因 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description usefully discloses that the call changes a review item's state and records a skip event, while also supplying role and platform constraints. It does not explain whether rejection is reversible, how it affects the associated automation workflow, or what happens on failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single front-loaded statement communicates the purpose, logged side effect, and availability without filler. The bracketed availability block is dense but compact and useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter operation, the action, target, side effect, availability, and schema provide minimum viable invocation context. With no annotations or output schema, the missing lifecycle consequences, ID-discovery workflow, and result behavior remain meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and both id and reason are already documented there, so the baseline score applies. The description adds no source for the review-item ID or guidance on when the optional reason should be supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific action and target—rejecting legacy review items—and adds that a skip event is recorded. It does not explicitly relate the operation to siblings such as boss_agent_review_approve or boss_agent_pending, so sibling differentiation remains incomplete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The compatibility/legacy wording and explicit candidate, recruiter, and zhipin availability constraints establish a narrow usage context. However, there is no workflow guidance on when rejection is appropriate, how to obtain a review item, or when to use boss_agent_review_approve instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_agent_runB
招聘自动化:运行一轮自动扫描、决策、阈值控制、执行和线索生成 [可用性: roles=candidate, recruiter; candidate_platforms=zhipin; recruiter_platforms=zhipin]
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 本轮最多处理多少个会话 | |
| resume | No | 仅在操作者明确确认已完成官方验证、已核实未确认动作并要求恢复时设为 true;保留已确认动作和队列 checkpoint,普通 run 不解除停止状态 | |
| dry_run | No | 只演练决策,不执行真实平台动作 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It says 'execution' happens on a live recruitment platform, but never states side effects (messages or greetings sent to real candidates), whether the run can be interrupted or resumed, how it relates to the stopped state implied by the resume parameter, rate limits, or what happens on partial failure. The availability clause is useful metadata, but the risk profile of an autonomous agent run is left undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence lists the pipeline stages up front, followed by a bracketed availability tag. Nothing is redundant, though listing five stages in a comma chain is slightly dense and the availability tag could be separated more clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should say more about what a round produces (leads, decisions, stats) and when the run halts. Parameter documentation in the schema is thorough, which offsets some of the gap, but the behavioral picture for an autonomous automation tool remains thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the three parameters (limit, resume, dry_run) already carry detailed semantics in the schema, including the dry_run default of true and the strict confirmation needed for resume. The description adds no parameter meaning beyond that, so the baseline of 3 for fully documented schemas applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete operation: a single automation round covering scan, decision, threshold control, execution and lead generation, along with the roles and platforms it applies to (zhipin). That is enough to distinguish it from granular siblings like boss_agent_stop, boss_agent_pending or boss_watch_run, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability clause (roles=candidate/recruiter; platforms=zhipin) gives a clear precondition for use, which is genuinely useful. However, it offers no guidance on when to choose this over boss_watch_run, boss_agent_pending or boss_agent_stop, and no explicit when-not-to-use condition, so selection between it and its closest siblings must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_agent_statsB
招聘自动化:查看执行、跳过、历史队列和熔断统计 [可用性: roles=candidate, recruiter; candidate_platforms=zhipin; recruiter_platforms=zhipin]
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It does add real context with the availability constraints (roles=candidate/recruiter; platforms=zhipin), which tells the agent who may call it. However, it never states that the call is read-only, whether it touches shared state, how fresh the counters are, or what the figures represent, which are the traits that matter most for a statistics endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded clause states the domain and the statistic categories, followed by a bracketed availability note. There is no filler, though the availability bracket is dense and mixes two different constraint families without explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is the only source of information about return values; it names four statistic categories but does not indicate the shape, units, or time window of any of them. Since this is a low-complexity zero-parameter read, the definition is adequate, but it could do more to describe what the caller will see.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline there is no parameter semantics to explain and the schema is exhaustive at 100% coverage. Nothing in the description is needed to call it, and nothing is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (view/查看) and enumerates the resources measured: execution, skipped, historical queue, and circuit-breaker statistics. That is clearly a reporting tool for the agent automation, distinguishable from the general boss_stats, though it does not explicitly say how it differs from boss_stats or boss_agent_pending.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given. With many adjacent siblings (boss_stats, boss_agent_pending, boss_agent_run, boss_agent_review), the definition never says when to consult this stats view versus those, nor does it state any prerequisites or exclusions. The reader must infer that it is a read-only monitoring call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_agent_stopB
招聘自动化:打开熔断,停止后续自动执行 [可用性: roles=candidate, recruiter; candidate_platforms=zhipin; recruiter_platforms=zhipin]
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | 熔断原因 | manual-stop |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose a meaningful trait — that this sets a breaker state affecting '后续自动执行' (subsequent automatic execution), suggesting persistent effect rather than a one-shot action — plus availability constraints (roles and platforms). It omits whether the state is reversible, whether in-progress executions are aborted, and what authority is required, which are important for a stop/kill-switch tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action is front-loaded in one compact clause, with the availability matrix bracketed at the end. No redundant sentences. The bracketed availability block is somewhat dense and templated but does not obscure the primary statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-optional-parameter toggle with no output schema, the description covers what the tool does and who can call it. It is still incomplete on the operationally critical points: effect on currently running automation, reversibility, and post-stop state, which an agent needs before triggering a circuit breaker.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the single optional 'reason' parameter is documented in the schema with a default of 'manual-stop'. The description adds no additional meaning about how the reason is used or where it is recorded, so this sits at the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action on a specific resource: '打开熔断,停止后续自动执行' (open the circuit breaker, halt subsequent automatic execution) within recruiting automation. This is distinguishable from siblings like boss_agent_run or boss_agent_train. It stops short of 5 because it doesn't clarify the granularity — whether it kills in-flight work, cancels queued tasks, or just sets a persistent flag.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'打开熔断' (open the circuit breaker) implies an emergency/pause scenario, which gives an agent a reasonable usage hint. However, there is no explicit statement of when to prefer this over simply not calling boss_agent_run, no mention of prerequisites, and no indication of how to resume automation afterward.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_agent_trainB
招聘自动化:训练校准模式,默认演练满足阈值的动作 [可用性: roles=candidate, recruiter; candidate_platforms=zhipin; recruiter_platforms=zhipin]
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 本轮最多处理多少个会话 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full burden. It does disclose one meaningful trait: actions meeting the threshold are rehearsed in dry-run by default, which signals a non-destructive default. It omits whether any state is persisted, whether a training run can be undone, and what the caller should expect back.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single compact line with the core mode stated first and availability bracketed at the end, so there is no wasted wording. The terseness, however, comes at the cost of the specifics an agent needs, so compactness here reads as under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple on paper (zero required params, no output schema, no nested objects), so the description does not need to explain return values. Still, for an automation/calibration tool sitting among many agent_* siblings with no annotations, an agent cannot determine the outcome or scope of a training run from this text.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one optional parameter exists and its schema description ("本轮最多处理多少个会话") is fully documented at 100% coverage. The tool description adds nothing about 'limit', but with a single fully-described optional param the baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description frames this as "招聘自动化" in "训练校准模式" that by default dry-runs actions meeting a threshold, which conveys a calibration/training operation. However, it never says what is actually being trained (a model? a rule set?) or how this differs from the similarly named sibling boss_agent_run, so the agent must infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability line gives environment gating (roles=candidate/recruiter, platforms=zhipin) but that is a precondition, not usage guidance. There is no statement of when to pick this over boss_agent_run, boss_agent_review, or boss_agent_pending, and no mention of what happens after training completes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_ai_analyze_jdB
分析职位描述并评估简历匹配度,输出匹配分数和差距分析 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| resume | Yes | 对比的本地简历名称 | |
| jd_text | Yes | 职位描述文本 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the entire behavioral burden and only partially discharges it: it discloses the output shape (score plus gap analysis). It says nothing about cost, latency, quota consumption, whether the call is read-only, or how resume names are resolved, all of which matter for an AI-backed operation with no readOnlyHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action and its output are front-loaded in a single compact clause with no filler. The trailing bracketed availability block is dense but earns its space as the only access-control signal present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description at least names the return contents (match score and gap analysis), which covers the main gap. It stops short of describing result granularity, output language/format, or failure behavior when the named local resume cannot be found.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both parameters already documented ('职位描述文本' and '对比的本地简历名称'), so baseline 3 applies. The description adds no further meaning beyond the schema — it does not clarify expected length of jd_text or how the resume name is matched against boss_resume_list output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific compound action: analyze a job description, score resume match, and output gap analysis, which tells an agent exactly what comes back. However, it never distinguishes itself from close siblings such as boss_ai_fit, boss_ai_optimize, or boss_ai_suggest, so an agent must guess which AI-analysis entry point to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability tag (roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-) effectively says who must not use it, which is real exclusion guidance. But it gives no positive conditions — no mention of when to prefer this over boss_ai_fit or boss_ai_optimize — so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_ai_chat_coachB
基于聊天记录诊断沟通状态并给出下一步行动建议与现成消息模板 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | 沟通风格偏好(如 简洁专业/积极主动/谨慎稳重) | 简洁专业 |
| resume | No | 参考简历名称(可选) | |
| chat_text | Yes | 聊天记录文本 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry the behavioral burden. It does disclose what the tool produces (a diagnosis, action suggestions, and ready-to-send templates), which tells the agent this is a generative advisory call rather than a lookup. It says nothing about whether it mutates state, how long it takes, or whether the chat text is sent to a model, leaving the side-effect profile to inference.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded clause stating the function, followed by a compact availability constraint. No sentence is wasted. The availability metadata is slightly cramped inside brackets but remains readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter generative tool with no annotations and no output schema, the description covers the purpose and the return shape at a high level. It omits the one thing an agent most needs in this crowded AI family: how this differs from boss_ai_reply and the other advisory siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so style, resume, and chat_text are already documented with examples in the schema. The description adds no further meaning about input format, expected length of chat_text, or how style influences output. With the schema doing the heavy lifting, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete verb-resource pair: it diagnoses communication state from chat logs and returns next-step actions plus ready-made message templates. That is specific and actionable. It stops short of differentiating itself from AI siblings such as boss_ai_reply or boss_chat_summary, so an agent cannot fully rule those out from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability block is genuinely useful: it states this only applies to the candidate role on zhipin and is explicitly unavailable for recruiters, which prevents a whole class of wrong calls. It gives no guidance, however, on when to prefer this over boss_ai_reply or boss_chat_summary, so the choice among AI chat tools remains implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_ai_cover_letterA
基于本地简历与目标岗位起草求职信/自我介绍草稿(仅草稿,不发送) [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | 输出语言(zh 中文 / en 英文) | |
| tone | No | 求职信语气 | |
| job_id | No | 从缓存读取职位描述的 job_id(与 jd_text 二选一) | |
| resume | Yes | 简历名称 | |
| jd_text | No | 目标职位描述文本 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden; it does disclose the key behavioral trait that output is draft-only and never sent, which prevents false expectations of an apply action. It omits what the draft contains, length, formatting, and failure behavior when job_id/jd_text is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence pairs the action with its inputs and the draft-only constraint; the bracketed availability tag is compact. Minimal waste overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderate-complexity generative drafting tool with no output schema, the description covers purpose, inputs, and the critical not-sent constraint. Missing only draft-format expectations and error/enumeration behavior, which are minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with per-field Chinese descriptions and enums for lang and tone, so the schema already carries parameter meaning. The description only echoes the resume/job inputs and adds no syntax or precedence detail (e.g. job_id vs jd_text exclusivity).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (起草) and resource (求职信/自我介绍), plus scope (based on local resume and target job). It clearly distinguishes itself as a drafting tool, though it does not name which sibling handles adjacent tasks like optimization or suggestions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The availability tag (roles=candidate, candidate_platforms=zhipin) gives real routing context, and 'based on local resume and target job' implies the input precondition. However, no explicit alternatives are named (e.g. boss_ai_suggest, boss_ai_optimize) and there is no when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_ai_fitB
基于本地简历和候选池已缓存职位详情生成逐岗匹配度、能力缺口和关键词命中报告 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 最多分析的候选池职位数 | |
| resume | Yes | 简历名称 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description must carry the full behavioral burden. It helpfully discloses the preconditions (a locally stored résumé and already-cached pool job details) and the customer-facing platform restriction, but says nothing about whether the analysis is read-only or persists a report, whether it consumes AI quota/latency, or how failures surface when cached 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence states the data sources and the outputs, followed by a compact availability tag. There is no padding, though the availability tag is somewhat telegraphic and could be clearer to an agent unfamiliar with the roles/platform vocabulary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two parameters and no output schema, the description covers the essentials: inputs, generated artifacts, and platform availability. It still leaves the agent guessing about the report's shape and whether results are returned inline or persisted, which matters for a tool whose whole purpose is producing a report.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are already documented (resume = 简历名称, limit = max pool jobs analyzed). The description adds mild context by stating the analysis is driven by a local résumé across cached pool jobs, which supports the meaning of `resume`, but it adds no detail on the `limit` default behavior or résumé-name resolution beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (生成/generate) and a concrete output set — per-job match degree, capability gaps, and keyword-hit report — together with its data sources (local resume plus cached job details in the candidate pool). This is clearly separable from analytical siblings such as boss_ai_analyze_jd or boss_ai_resume_optimize, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability constraint (roles=candidate, candidate_platforms=zhipin, recruiter_platforms=-) is genuinely useful routing information that tells an agent when this tool is callable. Beyond that, it only implies usage — pool jobs must already be cached — and never states alternatives or exclusions, e.g. when to choose this over boss_ai_analyze_jd or boss_shortlist_compare.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_ai_interview_prepB
基于目标职位描述生成模拟面试题与准备建议(支持简历参考定制题目) [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | 题量,默认 10 | |
| resume | No | 参考简历名称(可选) | |
| jd_text | Yes | 目标职位描述文本 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the burden. It usefully discloses the role/platform availability constraint, which is genuine behavioral context. But it says nothing about whether generation is safe/non-mutating, latency, rate limits, or what the output looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single front-loaded sentence plus a bracketed availability tag; no wasted wording. The bracketed constraint is compact though somewhat cryptic in format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a generation tool with no output schema and no annotations, the description covers purpose and availability but leaves the return shape (number/format of questions, advice) and any safety profile unstated. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does add that supplying a resume customizes the generated questions, which clarifies the purpose of the optional resume param beyond the schema's '参考简历名称'. Marginal added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: generates mock interview questions and preparation advice from a target JD, with optional resume-based customization. Clear on its own, but it doesn't differentiate from adjacent AI siblings like boss_ai_fit or boss_ai_chat_coach.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The availability line (roles=candidate; candidate_platforms=zhipin) gives real gating context, and 'based on target job description' implies when it applies. However, there is no explicit when-not guidance or naming of alternative tools such as boss_ai_fit for prepping differently.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_ai_optimizeB
基于目标职位描述优化简历(输出优化后结构,不直接写回磁盘) [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| resume | Yes | 简历名称 | |
| jd_text | Yes | 目标职位描述 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description still carries useful behavior: the operation is non-destructive because it returns an optimized structure rather than writing to disk. That is the single most valuable disclosure here. It does not say whether the optimization is persisted anywhere, whether it costs credits/is rate-limited, or what the output object contains beyond 'structure'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence plus a compact availability tag; nothing is padded. The availability metadata is dense but readable and communicates real preconditions rather than boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, no-annotation, no-output-schema mutation-like tool, the definition covers intent and the no-write guarantee, which is the critical part. It leaves the return shape vague ('optimized structure') and never explains how to obtain a valid resume identifier, so an agent could stall on inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are documented in the schema and the baseline is 3. The description adds that jd_text is the target job description being optimized against, which gives purpose but no format or length guidance, and it does not clarify where the 'resume' name value comes from (boss_resume_list/boss_resume_show).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('optimize resume based on target job description') plus a scoping clarification ('outputs optimized structure, does not write to disk'). However it does not distinguish itself from the near-identical sibling boss_ai_resume_optimize, so an agent still has to guess which of the two to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The availability bracket gives real gating (roles=candidate, candidate_platforms=zhipin, recruiter_platforms=-), which tells the agent when the tool is usable. It says nothing about when to prefer it over boss_ai_resume_optimize, boss_ai_analyze_jd, or boss_ai_fit, and provides no prerequisites such as needing a resume name from boss_resume_list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_ai_replyB
基于招聘者消息生成回复草稿(2-3 条候选,支持简历参考和语气偏好) [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| tone | No | 语气偏好 | 简洁专业 |
| resume | No | 参考简历名称(可选) | |
| context | No | 会话上下文(可选) | |
| recruiter_message | Yes | 招聘者消息文本 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that 2-3 candidate drafts are produced, not a single message, and that this only works for the candidate role on the zhipin platform. It does not state whether drafts are ever sent automatically, whether there are rate limits, or what the drafts contain, so important behavioral gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single compact sentence front-loaded with the action and the output shape, followed by a clearly bracketed availability constraint. No sentence is wasted, though the bracketed metadata is opaque to a reader unfamiliar with the shorthand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The essentials are covered: purpose, output cardinality, and platform/role gating for a 4-parameter tool with a fully documented schema. Because there are no annotations and no output schema, a stronger definition would spell out the draft format and confirm the tool has no side effects; the definition stops short of that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters, including the tone enum and the optional resume and context fields, are already documented in the schema. The phrase 支持简历参考和语气偏好 only restates the resume and tone parameters and adds no new meaning such as expected formats or how many resume names are accepted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: generating reply drafts (回复草稿) from a recruiter message, and it states that 2-3 candidate drafts are produced. The availability tag (roles=candidate, recruiter_platforms=-) implicitly separates it from the recruiter-side sibling boss_hr_reply, but this separation is not stated in prose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended usage is implied: generate a reply when a recruiter has messaged you, with resume reference and a tone preference. However, no explicit when-to-use, when-not-to-use, or alternative guidance is given, such as a pointer to boss_ai_chat_coach for live coaching or to boss_hr_reply for the recruiter side.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_ai_resume_optimizeB
基于目标岗位优化简历措辞(仅建议,不修改简历) [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | No | 从缓存读取职位描述的 job_id(与 jd_text 二选一) | |
| resume | Yes | 简历名称 | |
| jd_text | No | 目标职位描述文本 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It does disclose two meaningful traits: the operation is suggestion-only and does not modify the resume, and it is gated to candidate role on the zhipin platform. It says nothing about output format, how the resume content is obtained, or any cost/rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence plus an availability tag, with the core purpose front-loaded. Nothing is wasted, though the bracketed availability metadata is somewhat cryptic in placement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter advisory AI tool with no output schema and no annotations, the description covers intent and the non-mutating nature but leaves return-value expectations and resume-source behavior unstated. It is minimally sufficient but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so job_id, jd_text, and their mutual exclusivity are already documented in the schema. The description adds no semantics about parameters beyond what the structured fields already state, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: it optimizes resume wording based on the target position, and it clarifies the operation is advisory only ('仅建议,不修改简历'). It does not, however, explicitly distinguish itself from similarly named siblings such as boss_ai_optimize or boss_ai_suggest, so an agent must infer the difference from the scope note.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use/when-not-to-use guidance or mention of alternatives. The embedded availability constraint (roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-) does imply who may call it, which is useful, but eligibility is not the same as usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_ai_suggestA
基于目标职位给出简历改进建议(按优先级排序,不修改简历) [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| resume | Yes | 简历名称 | |
| jd_text | Yes | 目标职位描述 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full burden and does disclose the two traits that matter most: the operation is non-mutating and the output is priority-ordered suggestions rather than an edited resume. Role/platform gating is also surfaced. It stops short of describing rate limits, cost, or what the suggestion payload looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence plus a bracketed availability tag, with the core purpose and the non-mutation guarantee front-loaded. The availability metadata is dense but earns its place as the only usage constraint given.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, read-only advisory tool with full schema coverage and no output schema, the description covers purpose, result ordering, non-mutation, and audience gating. Only the shape of the returned suggestions is left unstated, which is a minor gap for a tool this simple.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'resume' and 'jd_text' documented in the schema itself, so the baseline is 3. The description's '基于目标职位' only confirms that jd_text drives the analysis and adds no format or linkage detail beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('给出简历改进建议' – produce resume improvement suggestions) scoped to a target position, and explicitly negates mutation ('不修改简历'), which cleanly separates it from the sibling optimize tools (boss_ai_optimize, boss_ai_resume_optimize). An agent can route on this without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The availability tag ('roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-') gives explicit eligibility conditions, and the 'does not modify resume' clause signals when to prefer this over an optimizing sibling. It does not, however, name those siblings directly or state prerequisites such as needing a saved resume or a JD first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_ai_suggest_keywordsB
基于候选池职位分析推荐搜索关键词组合 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 候选池职位数上限 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It does disclose meaningful preconditions – that the input is drawn from the candidate pool and that the tool is only available in the candidate role on the zhipin platform – but it never states that the operation is read-only, whether it consumes quota or triggers model calls, or what shape the recommendations take.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded purpose clause followed by a compact bracketed constraint block – no wasted wording. The bracketed availability syntax is terse but decodable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter AI-suggestion tool with no output schema, the definition covers purpose and platform/role gating but leaves the return value, invocation cost, and downstream use of the keywords unexplained. Adequate to call correctly, not sufficient to use confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter and schema coverage is 100%, with 'limit' fully described as the cap on candidate-pool jobs analyzed. The description adds no meaning beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and output ('推荐搜索关键词组合' – recommend search keyword combinations) plus its basis ('基于候选池职位分析' – analysis of jobs in the candidate pool). This distinguishes it from generic siblings like boss_ai_suggest or boss_ai_optimize, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability line gives a real gating condition (roles=candidate, candidate_platforms=zhipin, recruiter_platforms=-), telling the agent when the tool is even callable. However, there is no guidance on when to prefer this over boss_ai_suggest or how to act on the returned keywords.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_applyB
发起投递或立即沟通动作(幂等,不会重复投递) [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | 职位的 encrypt_job_id | |
| security_id | Yes | 职位的 security_id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose one genuinely useful trait: the action is idempotent and will not re-submit a duplicate application. It says nothing about side effects (does it also open a chat?), error conditions, or whether a message is sent to the recruiter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the action front-loaded, followed by a clearly delimited availability tag. No filler, though the bracket syntax is machine-ish rather than explanatory.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation tool with no annotations and no output schema, the description covers what the action is, its idempotency, and its eligibility constraints. It is still incomplete about the outcome of the call and the relationship to the greeting tools, which matters given how many siblings overlap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (job_id as encrypt_job_id, security_id) are documented in the schema itself. The description adds no further meaning about how the two IDs relate or where they come from, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete action pair, "发起投递或立即沟通" (apply to a job or start an immediate conversation), which tells an agent exactly what operation this is. The only weakness is that "立即沟通" overlaps conceptually with the sibling boss_greet, and the description never disambiguates the two.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability tag (roles=candidate, candidate_platforms=zhipin, recruiter_platforms=-) gives a real precondition for when the tool can be used at all. However, there is no guidance on when to choose this over boss_greet or boss_batch_greet, so the agent is left to infer the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_batch_greetB
搜索后批量打招呼(上限 10) [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | 城市名称 | |
| limit | No | 最大打招呼数量 | |
| query | Yes | 搜索关键词 | |
| dry_run | No | 预览模式 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the batch cap of 10, which is a real behavioral constraint. It does not disclose that greeting sends real outbound messages to real users, whether the operation is idempotent (re-greeting someone already contacted), or any rate limits — significant omissions for an irreversible outbound action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded clause plus a bracketed availability tag — no filler. The cap is placed prominently rather than buried, though the mixed-language bracketed suffix is slightly dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a batch, side-effecting outbound-messaging tool with four parameters, no annotations, and no output schema, the description is thin. It never explains dry_run (the agent must infer 'preview mode' from the schema), what the response looks like, or how partial failures are handled — all things the agent needs before firing a batch of greetings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does add one piece of meaning beyond the schema by stating the upper bound of 10, which the schema's '最大打招呼数量' field never specifies. It adds nothing about query, city, or dry_run, so it does not rise above the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and scope: batch greeting after a search, with a hard cap of 10. The 'batch' qualifier implicitly distinguishes it from the single-greet sibling boss_greet and the recruiter-side boss_hr_greet, though neither sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The availability tag (roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-) is a genuine gating condition that tells the agent when the tool is usable. However, there is no guidance on when to prefer this over boss_greet for a single target, or on what to do when the search returns fewer than the requested limit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_chatA
查看沟通列表,支持按发起方和时间筛选。返回项含稳定标识 uid,可用于 boss_chatmsg / boss_mark / boss_exchange。 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | 只显示最近 N 天的记录 | |
| page | No | 页码 | |
| from_who | No | 筛选发起方 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses useful traits: this is a read/list operation, results carry a stable identifier, and availability is constrained to candidate role on the zhipin platform with no recruiter platform support. It does not disclose ordering, pagination behavior beyond the 'page' param, or whether results are truncated, which matters for a data-listing tool with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact clauses plus one bracketed availability note — every element carries information. The core capability is front-loaded and the cross-tool uid handoff follows immediately, so an agent gets the essential facts in the first read.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter, all-optional list tool with no output schema, the description covers the key gaps: what is listed, which filters exist, one critical return field (uid), and its use in sibling tools. The main shortfall is the absence of any hint about what else each item contains, which an agent might need before deciding to enumerate conversations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents 'days', 'page', and the 'from_who' enum. The description only restates the filtering capability at a high level ('按发起方和时间筛选') without adding format, default, or interaction details 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('查看沟通列表' – view the chat/conversation list) and names the supported filters (initiator and time). It also distinguishes itself from message-level siblings by explaining that the returned 'uid' feeds into boss_chatmsg / boss_mark / boss_exchange, which tells an agent this is the list-level entry point rather than a content reader.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies when to use it (listing conversations, optionally narrowed by sender or recency) and gives a concrete downstream workflow via uid. However, it never states when NOT to use it or names explicit alternatives — e.g. boss_chat_summary for aggregated views or boss_chatmsg for reading the actual messages — and the role restriction is buried in a bracket rather than framed as a usage condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_chatmsgA
查看与指定好友的聊天消息历史 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | 输出保真结构化消息字段(仍受合规门控) | |
| page | No | 页码 | |
| count | No | 每页消息数量 | |
| security_id | Yes | 好友的 uid(推荐,取自 boss_chat,跨请求稳定)或 security_id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description bears full behavioral burden. It discloses role/platform availability, which is genuinely useful, but says nothing about permissions, pagination behavior, rate limits, or the compliance gating referenced only in the schema's 'raw' parameter. For a data-read tool with zero annotation coverage, more disclosure would be expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence plus a compact availability tag, with purpose front-loaded before constraints. Nothing is wasted and nothing redundant repeats the title or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose and eligibility for a four-parameter read tool with full schema coverage and no output schema. It omits what the response looks like (and how 'raw' changes it) and any note on pagination defaults, leaving an agent to infer message-retrieval behavior from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (raw, page, count, security_id) are already documented in the schema, including the uid-vs-security_id guidance. The description adds no parameter-level meaning beyond that, which is acceptable at baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: '查看与指定好友的聊天消息历史' (view chat message history with a specified contact). An agent can tell this retrieves messages rather than resumes or chat lists. It doesn't explicitly distinguish itself from the sibling boss_hr_chatmsg, though the roles=candidate tag implicitly separates them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability block gives concrete eligibility constraints: roles=candidate, candidate_platforms=zhipin, recruiter_platforms=-, which tells the agent which callers should and should not use it. It stops short of naming an explicit alternative for recruiters (boss_hr_chatmsg), so routing requires inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_chat_summaryB
基于聊天历史生成结构化摘要与下一步建议 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| security_id | Yes | 好友的 uid(推荐,取自 boss_chat,跨请求稳定)或 security_id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It discloses the input source (chat history) and what is produced (a structured summary and next-step suggestions), but says nothing about whether an AI model is invoked, whether calls are slow or costly, whether the operation is read-only, or what the output format looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence plus a bracketed availability tag: the purpose comes first and nothing is wasted. The bracketed metadata is terse to the point of being cryptic, but it is compact rather than verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should have described the shape of the summary and suggestions, yet it only names them. Combined with the absence of annotations on a model-backed, possibly slow operation, the definition is adequate but leaves real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter, and the schema documentation covers 100% of the input schema; it even explains the recommended uid source from boss_chat and cross-request stability. The description adds no meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource: generate a structured summary plus next-step suggestions from chat history. The availability clause (roles=candidate, candidate_platforms=zhipin, recruiter_platforms=-) further narrows what this tool is for. It does not name a sibling to contrast with, even though boss_ai_chat_coach and boss_chat are near neighbors, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The availability tag gives a real usage gate: it applies only to candidate-role users on zhipin, so recruiters must not call it. Beyond that it offers no explicit when-to-use or when-not-to-use guidance and never points to an alternative such as boss_ai_chat_coach for coaching or boss_chatmsg for raw messages.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_citiesA
列出支持的城市列表(约 44 个,含不限城市的「全国」) [可用性: roles=candidate, recruiter; candidate_platforms=zhipin; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the access constraints (roles and platform variants) plus the approximate list size and the '全国' sentinel. It does not say whether the list is static or live, whether it depends on the caller's config, or what the entries look like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact line: purpose first, then count and special case, then the availability constraint in a bracketed suffix. Dense but front-loaded, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a trivial zero-parameter list tool this is close to sufficient, but with no output schema the description should say what the returned list contains (city names only, or name/id pairs) and that those values feed into search filters. As written, an agent knows what the tool is but not exactly what it gets back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The mention of the '全国' pseudo-city is a useful hint about the value domain even without parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: '列出支持的城市列表' (list supported cities), and adds concrete scope detail — roughly 44 entries including the special '全国' (nationwide) option. No sibling tool offers a city list, so no disambiguation is needed, but it stops short of saying what the entries are used for.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability tag tells the agent which roles and platforms may call it (candidate/recruiter; zhipin / zhipin-recruiter), which is real usage gating. However, it never says when to call this versus other tools — e.g. that it should be used to discover valid city values before calling boss_search or boss_recommend.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_cleanB
清理过期缓存和临时文件 [可用性: roles=candidate, recruiter; candidate_platforms=zhipin; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
| all | No | 全量清理 | |
| dry_run | No | 仅预览不删除 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden and does very little with it. It never states that files are permanently deleted, what exactly is considered 'expired', whether the operation is reversible, or whether it can affect active sessions/data; the only safety affordance (dry_run) is visible solely through the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the availability gate appended; nothing is padded and the action is front-loaded. The bracketed key=value notation is terse but readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive maintenance tool with no annotations, no output schema, and no indication of what gets removed or what the result looks like, the description is thin. An agent could invoke it but could not predict or explain the consequences of doing so.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters (all, dry_run) are fully documented in the schema with defaults, so the schema does the heavy lifting and the description adds no further meaning. Baseline 3 applies given 100% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource – cleaning expired cache and temporary files – which is unambiguous and distinguishable from every sibling tool (none of which is a maintenance/cleanup command). It lacks any statement of scope or effect, but the core action is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed block states availability constraints (roles=candidate/recruiter, platform=zhipin/zhipin-recruiter), which is a precondition rather than a when-to-use rule. There is no guidance on when cleanup is warranted, how it differs from boss_doctor or boss_status, or any warning about running it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_configB
查看和修改配置项 [可用性: roles=candidate, recruiter; candidate_platforms=zhipin; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | 配置项名称 | |
| value | No | 配置值(仅 set 时需要) | |
| action | Yes | 操作类型 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It does not disclose that 'set' and 'reset' mutate configuration, whether 'reset' restores defaults or deletes the key, whether changes are reversible, or what permissions are required beyond role eligibility. Only the availability envelope is covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence plus a bracketed constraint block, front-loaded with the purpose and free of filler. The densest useful information (actions and their effects) is absent rather than the text being bloated, so conciseness itself is good.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a low-parameter but mutation-capable tool with no annotations and no output schema, so the description should explain what 'reset' does, what a 'set' returns, and whether keys are namespaced. None of that is present, leaving an agent unable to predict the consequences of the destructive actions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — every parameter including the action enum has its own Chinese description — so the baseline is 3. The description adds nothing about parameter semantics beyond what the schema already states, such as whether 'key' must exist before 'get' or what 'reset' falls back to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb pair and resource ('查看和修改配置项' = view and modify configuration items), which tells an agent what domain the tool covers. It does not distinguish this tool from adjacent configuration-like siblings such as boss_preset_list or boss_watch_list, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability block gives concrete eligibility constraints (roles=candidate/recruiter; platform=zhipin/zhipin-recruiter), which is useful routing information. However, it never says when to pick this tool over the preset/watch siblings, and it does not explain which action (list/get/set/reset) is appropriate in which situation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_crawl_resultsA
读取持久化 crawl 职位,可按页码和详情状态筛选。 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 只返回该 crawl 页的结果,省略则返回全部 | |
| run_id | Yes | crawl run 标识,由 boss crawl start 返回 | |
| detail_status | No | 按职位详情抓取状态筛选:completed 已补全详情,pending 仅有列表信息 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full disclosure burden. It does add useful context that results are persisted and can be split by detail-fetch state (completed vs. pending), and it flags platform/role gating. It stops short of describing pagination behavior, ordering, or what happens with an unknown/expired run_id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact clauses, with the core action front-loaded before the availability qualifier. No filler text, though the bracketed availability string is dense and would read better as a plain sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only retrieval tool with three fully described parameters and no output schema, the description covers purpose, filtering, and applicability. The main gap is relational context — how run_id ties back to boss_crawl_start/boss_crawl_status — which the agent must infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters, including the enum values, are already fully documented in the schema. The description only restates the filter dimensions and adds no syntax, format, or edge-case meaning beyond that, making 3 the appropriate baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: read persisted crawl job results, with page and detail-status filtering. An agent can tell this returns stored crawl output rather than live searches, though the description never distinguishes it from nearby siblings such as boss_crawl_status or boss_crawl_shortlist.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability block gives real scoping guidance (roles=candidate, candidate_platforms=zhipin, recruiter_platforms=-), which tells an agent when this tool is applicable. However, there is no explicit when-to-use vs. alternative guidance (e.g., use boss_crawl_status for run state, this for the resulting jobs), so the choice among crawl siblings is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_crawl_shortlistB
将 crawl results 返回的 selector 导入本地 shortlist,不请求 BOSS。 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| all | No | 导入该 run 的全部可关联职位;与 selectors 二选一 | |
| note | No | 写入候选池的本地备注 | |
| tags | No | 写入候选池的本地标签,逗号分隔 | |
| run_id | Yes | crawl run 标识,由 boss crawl start 返回 | |
| selectors | No | 要导入的职位 selector 列表,取自 boss_crawl_results 的返回;与 all 二选一 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full burden; it usefully discloses that no BOSS request is made, meaning this is a local-only write. It does not disclose whether existing shortlist entries are overwritten, whether duplicates are skipped, what happens to stale selectors, or what the call returns after import.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action and the no-network trait are front-loaded in one sentence, which is efficient. The appended availability bracket is terse and machine-formatted but earns its place as a hard eligibility gate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter mutation tool with no annotations and no output schema, the description covers purpose and local-only behavior but leaves the post-import result undefined. An agent still cannot tell whether the call reports how many positions were added, skipped, or rejected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters, including the all/selectors mutual exclusion and the run_id provenance, are already documented in the schema. The description only restates that selectors originate from crawl results and adds no format, sizing, or precedence guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('将 crawl results 返回的 selector 导入本地 shortlist') and adds a distinguishing trait ('不请求 BOSS'), so the agent knows this is a purely local import from crawl output rather than a fresh fetch. It does not explicitly contrast itself with nearby siblings such as boss_shortlist_add or boss_crawl_results, leaving the boundary to be inferred.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the referenced workflow (selectors come from boss_crawl_results, run_id from boss crawl start), and the availability bracket states a when-not condition for recruiter roles. However, there is no explicit statement of when to prefer this over boss_shortlist_add or what to do when a run has no importable positions, so the agent must infer the choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_crawl_statusA
读取 crawl 页游标、职位数、详情进度和风险状态。 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | crawl run 标识,由 boss crawl start 返回 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It does usefully reveal the return surface (cursor, job count, progress, risk status), which is real behavioral context given there is no output schema, and it implies a read-only monitoring operation. It does not describe polling cadence, how progress or risk status are encoded, or what happens for an unknown or finished run_id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence listing exactly what is returned, followed by a bracketed availability tag. Every element earns its place and there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, listing the returned fields plus the role/platform availability gate covers what an agent needs to call it and interpret the result. Minor gaps remain around polling behavior and the meaning of risk status values, but nothing blocking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema coverage is 100% – the schema already defines run_id as the crawl-run identifier returned by boss crawl start, so this is inherently well covered. The description adds nothing beyond that, but with full schema documentation the parameter is unambiguous as-is.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (读取/read) plus the concrete resource fields it exposes: crawl 页游标 (page cursor), 职位数 (job count), 详情进度 (detail progress) and 风险状态 (risk status). That is enough to separate it from result-oriented siblings like boss_crawl_results and boss_crawl_shortlist, but the description never names those siblings to make the distinction explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the run_id schema note ('由 boss crawl start 返回') tells the agent this is a follow-up call after starting a crawl, and the availability tag restricts it to candidate role on the zhipin platform. There is no explicit when-to-use vs when-not statement, and no guidance on calling it repeatedly to poll progress versus using boss_crawl_results to fetch output.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_detailA
查看职位详情。参数为 security_id(从 search/recommend 结果获取)。 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | No | encrypt_job_id,传入可走快速通道 | |
| security_id | Yes | 职位的 security_id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It discloses the availability constraints (candidate role, zhipin platform only) and implies a read-only lookup, but says nothing about permissions, rate limits, error cases when security_id is stale, or what the response contains. Useful but incomplete behavioral context for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the purpose front-loaded, followed by a compact bracketed availability tag. Nothing is redundant, though the bracketed key=value notation is terse to the point of being cryptic for an agent unfamiliar with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with no output schema, the description covers purpose, prerequisite source of the ID, and caller eligibility. The main remaining gap is that it never indicates what the returned job details include, which matters slightly since no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both job_id (fast path via encrypt_job_id) and security_id. The description only adds the provenance of security_id (from search/recommend results) and omits the job_id fast-path entirely. Baseline 3 is appropriate when the schema does most of the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"查看职位详情" gives a specific verb (查看) and resource (职位详情), so the agent can tell it reads job posting details. The availability tag (roles=candidate; recruiter_platforms=-) implicitly separates it from the recruiter-side sibling boss_hr_jobs_detail, though the description never names that sibling directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states where the required argument comes from ("从 search/recommend 结果获取"), which tells the agent to run boss_search or boss_recommend first, and the availability tag scopes who may call it. It does not explicitly say when not to use it or how it differs from boss_hr_jobs_detail beyond the platform field.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_digestB
汇总新增职位、待跟进会话和面试项的只读日报(支持 md 输出便于邮件/飞书直发) [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | 输出格式 | json |
| output | No | Markdown 输出路径(仅 format=md 时生效) | |
| days_stale | No | 超过 N 天未推进视为待跟进 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description must carry the full burden. It does disclose the important behavioral traits: the operation is read-only (只读), it draws from three data domains, and md output is intended for direct email/Feishu delivery. It does not say whether results are scoped to the calling candidate account, how large the digest is, or whether empty sections are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence with the payload stated first, followed by the output-format rationale and a compact bracketed availability tag. No filler or repetition, though the availability bracket is dense enough to slow parsing slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All three parameters are optional with 100% schema coverage and there is no output schema, so the description only needs to frame what comes back — which it does at section level. It stops short of describing the digest's shape (counts vs. lists), so an agent cannot predict response structure or size before calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds modest value by explaining why format=md matters (邮件/飞书直发, i.e. paste-ready delivery), which contextualizes the enum beyond the schema's '输出格式'. It adds nothing about output or days_stale that the schema's own descriptions do not already say.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (汇总 / aggregate) and a specific artifact (只读日报 — a read-only daily digest) and enumerates its three constituent sections: new jobs, follow-up-pending conversations, and interview items. This clearly distinguishes it from single-purpose siblings like boss_follow_up, boss_interviews, and boss_stats, even though those siblings are not named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: an agent can infer this is the combined daily roll-up, and the bracketed availability gate (roles=candidate; candidate_platforms=zhipin; recruiters unsupported) is genuinely useful eligibility information. However, there is no explicit 'use X instead when Y' routing against boss_follow_up, boss_stats, or boss_chat_summary, and no mention of when a digest is inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_doctorA
诊断本地运行环境、依赖、登录态和网络连通性 [可用性: roles=candidate, recruiter; candidate_platforms=zhipin; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. The enumerated check areas (environment, dependencies, login state, connectivity) give real insight into what the tool inspects, but it never states that the operation is read-only/non-mutating, whether it hits the network, whether it is safe to run repeatedly, or what the result looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no filler, plus a compact machine-readable availability tag. The bracketed roles/platforms metadata is dense but earns its place by gating access. Slightly terse to the point of omitting any output or safety statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter diagnostic tool with no annotations and no output schema, the description should at minimum characterize the result an agent will get back, since the return value is the entire product of a diagnostic. It lists what is checked but says nothing about result shape, severity levels, or remediation hints, leaving a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is an empty object, so there is nothing for the description to disambiguate. Baseline 4 applies for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (诊断/diagnose) and enumerates the concrete resources checked: local runtime environment, dependencies, login state, and network connectivity. This is far more informative than the bare name 'boss_doctor'. It does not, however, distinguish itself from the adjacent sibling boss_status, which an agent could reasonably confuse with it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: a diagnostic tool is for troubleshooting when something is broken, and the bracketed availability clause tells the agent which roles and platforms it applies to. There is no explicit statement of when to call it (e.g. before a first run, or after a failed login) nor any exclusion pointing to boss_status or boss_config as the alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_exchangeB
请求交换联系方式(手机号或微信) [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| security_id | Yes | 联系人的 uid(推荐)或 security_id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full disclosure burden. Using '请求' (request) rather than a get-style verb conveys that this initiates an exchange request rather than revealing contact data immediately, which is meaningful. It still omits side effects, whether the counterparty must approve, quota or rate limits, and what the call returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence plus a compact constraint tag, with the action front-loaded and zero redundant prose. The bracketed availability notation is terse but functional. Its machine-oriented style slightly reduces readability for an agent scanning natural language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter request tool with no annotations and no output schema, the definition covers the action and platform gating but not the outcome. An agent cannot tell whether the call returns contact details, queues a request pending approval, or returns only a status. The missing output schema should have been compensated for and was not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is only one parameter (security_id), whose schema text already explains that it can be the contact's uid or security_id. The description adds no constraint or format guidance beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb-and-resource pair: '请求交换联系方式(手机号或微信)' (request exchange of phone number or WeChat). This is clearly a distinct action from resume viewing or greeting. It does not explicitly name a sibling, but the availability line marks it as candidate-only, which implicitly separates it from the recruiter-side boss_hr_exchange.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability block specifies the usable context (roles=candidate, candidate_platforms=zhipin, recruiter_platforms=-), which is real when-to-use guidance. However, it never says when NOT to use this or which alternative to pick—for example, the recruiter counterpart boss_hr_exchange—leaving the agent to infer routing from the fact that recruiters are excluded.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_exportA
导出搜索结果为 CSV / JSON / HTML 文件,支持 BOSS 直聘搜索页 URL 复用筛选条件。默认脱敏 job_id/security_id/boss_name,HTML 始终省略平台标识、招聘者姓名和薪资。不传 output_file 时 csv/json 在信封内返回 jobs 列表,html 在 data.content 返回报表正文。 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | BOSS 直聘搜索页完整 URL(可省略 query 直接复用网页筛选) | |
| city | No | 城市名称(如 北京、广州) | |
| count | No | 导出数量 | |
| query | No | 搜索关键词;提供 url 时可省略 | |
| scale | No | 公司规模,支持逗号分隔多选 | |
| stage | No | 融资阶段,支持逗号分隔多选 | |
| format | No | 输出格式 | csv |
| salary | No | 薪资范围(如 20-50K) | |
| industry | No | 行业类型,支持逗号分隔多选 | |
| job_type | No | 职位类型,支持逗号分隔多选 | |
| education | No | 学历要求,支持逗号分隔多选 | |
| experience | No | 经验要求,支持逗号分隔多选 | |
| output_file | No | 输出文件路径;不传时 csv/json 在信封内返回 jobs 列表,html 在 data.content 返回 HTML 正文 | |
| include_private | No | CSV/JSON/stdout 保留 job_id/security_id/boss_name 明文;HTML 始终省略平台标识、招聘者姓名和薪资 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and delivers meaningful behavior: default redaction of job_id/security_id/boss_name, unconditional omission of platform marker, recruiter name and salary in HTML, and different return channels depending on whether output_file is supplied. It does not mention permissions beyond the role gate, rate limits, or whether a fetch/crawl is triggered as a side effect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action and output formats, then layers redaction and return-shape details in a compact sequence. Dense but every clause (formats, URL reuse, redaction, envelope behavior) carries information; the bracketed availability tag is slightly clunky but useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter tool with no output schema and no annotations, the description covers the essentials an agent needs: output formats, file-vs-envelope return behavior, and privacy defaults. Missing pieces are secondary (result caps, error behavior, auth beyond the role tag).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all 14 parameters and the baseline is 3. The description adds real meaning for a few (url supplanting query, include_private scope, output_file changing the return envelope) but leaves the many filter parameters to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb-plus-resource (导出搜索结果为 CSV / JSON / HTML 文件) and names the data source (BOSS 直聘搜索页), which clearly separates it from siblings like boss_search or boss_crawl_results. An agent can tell what it produces and in what formats without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Establishes the usage context (exporting existing search results, reusing a search-page URL to carry filters) and states the availability constraint roles=candidate / platform=zhipin. It stops short of explicitly naming alternatives or saying when not to use it versus boss_search or boss_crawl_results.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_favorites_listA
预览 BOSS 职位收藏单页及有效状态(不落库) [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 页码 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description still discloses the key behavior '不落库' (does not persist to the database), which tells the agent this is a side-effect-free read. It also indicates that '有效状态' (validity status) is included in the result. It stops short of describing pagination behavior, total page counts, or what happens at out-of-range pages.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence with the core purpose front-loaded, followed by a bracketed constraint tag. Nothing is redundant, though the dense bracket notation is less scannable than prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity read tool with one optional parameter and no output schema, the description covers purpose, non-persistence, returned status, and platform eligibility. Only the paging mechanics are under-specified, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single optional integer parameter 'page' with 100% schema description coverage, so the schema already carries the semantics. The description's phrase '单页' reinforces that results are paged but adds no default value, range, or 1-based/0-based convention beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('预览'/preview) and a specific resource ('BOSS 职位收藏' job favorites list) plus what is returned ('单页及有效状态'). It is clearly distinguishable from siblings such as boss_shortlist_list or boss_watch_list by the 'favorites' domain, though it never names those alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability block ('roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-') does give a precondition for when this tool is callable, which is useful gating. However, there is no guidance on when to use this versus the other list-style siblings, and no note on how to page through results.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_follow_upA
筛出需要优先跟进的候选项(未读、超时未推进、面试) [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| days_stale | No | 超过 N 天未推进视为待跟进 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It implies a read-only filtered listing and defines the three qualifying conditions, but says nothing about ordering, result volume, pagination, or whether stale-day logic interacts with interview criteria. That leaves real behavioral gaps for a no-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence states the purpose and the criteria, followed by a bracketed availability tag. Nothing is redundant and the core function is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should say something about what a candidate entry contains or how many are returned; it does not. The input side is complete thanks to full schema coverage, but the return-side picture is left entirely to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with days_stale fully documented including its default of 3, so the schema does the heavy lifting. The description's mention of '超时未推进' hints at the staleness concept but adds no syntax, unit, or interaction detail beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('筛出' / filter out) and names the resource explicitly ('候选项' / candidates) plus the three inclusion criteria (unread, stale, interview). An agent can grasp the function without opening the schema. It stops short of differentiating from nearby siblings such as boss_pipeline or boss_hr_last_messages, which could also surface follow-up candidates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability line gives concrete scoping: roles=candidate, candidate_platforms=zhipin, recruiter_platforms=-, which tells the agent both who this is for and where it does not apply. It does not, however, name an alternative tool or state an explicit when-not condition beyond the platform/role gating.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_greetB
向招聘者打招呼。需要 security_id 和 job_id。 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | 职位的 encrypt_job_id | |
| security_id | Yes | 职位的 security_id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full disclosure burden for what is clearly an outbound action that sends a message to a third party. It never states whether the greeting consumes a daily quota, whether it is idempotent, what happens if the candidate has already greeted that job, or what error states look like. The only behavioral hint is the availability gate, which is insufficient for a mutating outreach tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences plus an availability tag, with the action front-loaded. The middle sentence restates the schema's required list verbatim, which is mild redundancy but not enough to harm readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter action tool with no output schema, the description covers the action, the required inputs, and platform/role availability. It is still missing side-effect and failure-mode information that an agent needs before triggering outbound contact, and it does not point to sibling alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: job_id is documented as the encrypt_job_id and security_id as the position's security_id, so the schema does the heavy lifting. The description only restates that both are required, adding no format, sourcing, or derivation guidance (e.g., where security_id comes from). Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb+resource: greeting a recruiter ('向招聘者打招呼'), which is immediately distinguishable from generic chat or search tools. It does not, however, distinguish itself from close siblings such as boss_hr_greet (recruiter-side) or boss_batch_greet (batch variant), leaving the agent to infer the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability block gives a real usage gate: only usable when roles=candidate, only on candidate_platforms=zhipin, and explicitly unavailable to recruiter platforms. That is a genuine when-to-use condition. It stops short of naming alternatives (e.g., boss_batch_greet for multiple jobs), so no explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_historyA
查看浏览历史 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full behavioral burden. '查看' implies a read-only operation and the availability clause discloses a role/platform precondition that will cause failures for recruiters, which is genuinely useful. However, nothing is said about pagination, result volume, ordering, or whether any state is recorded when the history is read — gaps that matter for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short clause plus a bracketed availability tag — front-loaded and free of filler. The bracketed metadata is dense but machine-parseable rather than prose padding, so it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema read tool the description is close to sufficient, and the availability gate is a valuable addition. What is missing is the scope of the returned history — which entity's browsing history, how far back, and whether results are truncated or paginated — which an agent needs in order to interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters and the schema is an empty object, so there is no parameter meaning the description needs to supply. Baseline 4 applies; the description neither helps nor harms here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource pair: '查看' (view) plus '浏览历史' (browsing history), which is a distinct capability not obviously duplicated by any sibling tool in the list. It stops short of naming what kind of history (e.g. viewed jobs vs. viewed resumes) or differentiating itself from neighbors like boss_watch_list or boss_shortlist_list, so it is clear but not maximally precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability block gives real usage conditions — only usable when roles=candidate and candidate_platforms=zhipin, and explicitly unavailable to recruiters (recruiter_platforms=-). That is useful gating information, but there is no guidance on when to prefer this over alternatives or what a caller should do instead when the gate fails.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_hr_accept_resumeA
招聘者模式:同意指定候选人的附件简历请求;仅在操作者明确批准后传 yes=true,不自动下载或重试 [可用性: roles=recruiter; candidate_platforms=-; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
| yes | No | 操作者已明确批准同意这条请求 | |
| dry_run | No | 只预览,不请求平台 | |
| friend_id | Yes | 候选人会话 friend_id | |
| message_id | Yes | 附件简历请求消息 mid |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that nothing is auto-downloaded and no retry occurs, plus the role and platform constraints, but it says nothing about side effects on the candidate's session, idempotency, or what happens when the request is stale or already handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single dense sentence with the action first, the safety gate second, and availability in a bracketed tag at the end. Nothing is redundant, though the bracket syntax is terse and machine-flavored.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the definition covers the approval gate and platform eligibility but leaves out the result of a successful or failed call and the preview semantics of dry_run, which an agent needs before invoking it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all four parameters are already documented in the schema. The description adds the approval-sequencing meaning behind yes=true, but says nothing about dry_run or how friend_id and message_id are obtained, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: accepting a candidate's attachment-resume request in recruiter mode. It is distinguishable from sibling tools like boss_hr_request_resume and boss_hr_download_resume, but it never explicitly names those alternatives, so the differentiation must be inferred from the word 'accept'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear gating rule: pass yes=true only after the operator has explicitly approved, and it scopes availability to role=recruiter on zhipin-recruiter. It does not say when to use a different tool, such as requesting the resume rather than accepting it, or how dry_run fits into the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_hr_applicationsA
招聘者模式:查看候选人投递申请列表 [可用性: roles=recruiter; candidate_platforms=-; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 页码 | |
| job_id | No | 按职位筛选(可选) | |
| label_id | No | 标签筛选(0=全部, 1=新招呼, 2=沟通中) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose a genuine behavioral constraint the schema cannot express — the required recruiter role and zhipin-recruiter platform — which is meaningful context. But it says nothing about result volume, pagination behavior, ordering, or whether viewing applications has side effects (e.g. marking them read), leaving notable gaps for a no-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact segments: the purpose is front-loaded, followed by a terse availability tag. There is no filler. The bracketed metadata is dense but readable and earns its place by carrying the role/platform gating that no structured field supplies.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a low-complexity paginated list tool with fully documented parameters and no output schema to explain. The description covers what it returns at a high level and, importantly, the access prerequisite. Only the lack of differentiation from sibling candidate-listing tools keeps it from being complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with page, job_id, and label_id all documented in the schema itself, so the baseline is 3. The description adds nothing beyond the schema — it does not clarify what an '申请列表' entry contains or how label_id's filter values interact with job_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('查看' / view) and a specific resource ('候选人投递申请列表' / list of candidate applications) and scopes it to recruiter mode. It does not explicitly differentiate itself from close siblings such as boss_hr_candidates or boss_hr_recommendations, which likely also list candidates, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability block ('roles=recruiter; recruiter_platforms=zhipin-recruiter') gives a real prerequisite that tells the agent when this tool is callable. However, there is no guidance on when to pick this over the many sibling list tools (boss_hr_candidates, boss_hr_recommendations, boss_hr_jobs), so the usage is only implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_hr_candidatesB
招聘者模式:搜索候选人 [可用性: roles=recruiter; candidate_platforms=-; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
| age | No | 年龄范围,如 20,25 | |
| city | No | 城市筛选(cityCode,如 101020100;-2=全国) | |
| page | No | 页码 | |
| query | No | 搜索关键词(可选,不传时返回默认候选集) | |
| degree | No | 学历要求,如 201,201 / -1,-1 | |
| job_id | No | 按职位筛选 | |
| salary | No | 薪资范围,如 -1,3 | |
| select | No | 是否带 select=true | |
| source | No | 来源编码(默认 4) | |
| activeness | No | 活跃度,如 2 | |
| experience | No | 经验要求,如 -3,-3(应届)/ -1,-1(不限) | |
| school_level | No | 学校层次(如 1101) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden, and it does disclose the role/platform gate the agent needs before invoking. It stays silent on other behavior: nothing about what select=true does, pagination limits, or whether searching has any side effect on candidate records.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short line, front-loaded with purpose before the bracketed availability metadata, so there is no wasted prose. The bracket notation is compact but slightly opaque compared to plain phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter search tool with no output schema and no annotations, the definition covers eligibility but not the return shape, result volume, or pagination expectations. It is adequate to identify the tool but thin for a tool this configurable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every one of the 12 parameters is already documented in the schema; the baseline of 3 applies. The description adds no syntax, defaulting, or interaction guidance (e.g., how query interacts with the other filters) beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (搜索/search) and resource (候选人/candidates) and scopes it to 招聘者模式 (recruiter mode), which separates it from the seeker-side boss_search without needing the schema. The bracketed availability metadata adds mode context but the phrasing is terse and partly encoded rather than explained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The availability clause (roles=recruiter; recruiter_platforms=zhipin-recruiter) tells the agent when the tool is callable, which is a real precondition. However, it gives no guidance on when to prefer this over siblings such as boss_hr_recommendations or boss_hr_applications, and no exclusions beyond the role gate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_hr_chatA
招聘者模式:查看与候选人的沟通列表(含未读数和最近消息摘要) [可用性: roles=recruiter; candidate_platforms=-; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 页码 | |
| job_id | No | 按职位筛选 | |
| label_id | No | 标签筛选(0=全部, 1=新招呼, 2=沟通中) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full burden; it does disclose that results include unread counts and recent message summaries, which signals a read-oriented listing. It does not state whether viewing marks messages as read, how many items are returned per page, or any rate/permission limits beyond the platform tag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in a single compact clause, with the availability tag appended as machine-readable metadata. There is no redundant phrasing, though the bracketed availability string is somewhat dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter, all-optional listing tool with full schema coverage and no output schema, the description partially compensates by naming the returned fields (unread count, last message summary). Pagination volume and read-state side effects remain unstated, keeping it just short of complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and all three parameters (page, job_id, label_id) already carry descriptions, including the label_id enum meaning (0=all, 1=new greetings, 2=in-progress). The description adds no syntax or default information beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 查看与候选人的沟通列表 (view the chat/conversation list with candidates), and adds what the result contains (unread counts, latest message summary). This differentiates it from message-level siblings like boss_hr_chatmsg and boss_chatmsg, though it does not explicitly contrast with the similarly-named boss_hr_last_messages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '招聘者模式' prefix plus the availability tag (roles=recruiter, recruiter_platforms=zhipin-recruiter) clearly scope when the tool is applicable. However, there is no explicit guidance on when to prefer this conversation-list tool over siblings such as boss_hr_last_messages or boss_hr_chatmsg, so routing is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_hr_chatmsgA
招聘者模式:查看与指定候选人的聊天消息历史 [可用性: roles=recruiter; candidate_platforms=-; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | 消息数量 | |
| friend_id | Yes | 候选人会话 friend_id | |
| max_msg_id | No | 向前翻页的最大消息 ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It usefully discloses the role and platform gating, but says nothing about read-only semantics, pagination direction, or result ordering beyond what the max_msg_id parameter name implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the role mode front-loaded and the availability constraint bracketed at the end. Nothing is wasted, though the bracketed metadata is dense and slightly cryptic.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only history fetch with three fully documented parameters and no output schema, the description covers the essential access constraint. Only the paging behavior and return shape are left implicit, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented in the schema. The description adds no extra meaning about friend_id sourcing, count limits, or how max_msg_id interacts with paging, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('查看与指定候选人的聊天消息历史') and prefixes it with '招聘者模式', which separates it from the candidate-side sibling boss_chatmsg. It does not explicitly name the sibling, but the role qualifier makes the distinction inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The availability clause (roles=recruiter, recruiter_platforms=zhipin-recruiter) tells the agent when the tool is callable, which is real guidance. However, it never contrasts with boss_hr_chat, boss_hr_last_messages, or boss_chatmsg, so the agent must infer which chat-reading tool to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_hr_download_resumeA
招聘者模式:下载指定候选人已收到且允许访问的附件简历;不自动同意、不覆盖已有文件 [可用性: roles=recruiter; candidate_platforms=-; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
| output | Yes | 本地输出文件路径,扩展名必须匹配附件格式 | |
| friend_id | Yes | 候选人会话 friend_id | |
| message_id | Yes | 已收到附件的消息 mid,不是请求 mid |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and usefully discloses that it will not automatically agree to anything and will not overwrite existing files. It also specifies role and platform availability, though it omits return behavior and permission details beyond that availability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted wording. The key operation and constraints are stated before the availability metadata.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-required-parameter download tool with full schema coverage, the description covers the essential operation, availability constraints, and important side-effect limits. It could say more about failure conditions or return behavior, but the schema already handles parameter meaning.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all three parameters thoroughly. The description reinforces that the resume must already be received and accessible, but adds little parameter-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: downloading a candidate's attached resume that has been received and is accessible. It implies differentiation from related actions by clarifying that it does not auto-accept, but it does not explicitly name sibling alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It establishes clear usage conditions: recruiter mode, resume already received, and access allowed. It also notes behavioral constraints (no auto-accept, no overwriting), though it does not explicitly compare against sibling tools like accept_resume or request_resume.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_hr_exchangeB
招聘者模式:请求交换候选人手机号或微信 [可用性: roles=recruiter; candidate_platforms=-; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | 交换类型 | phone |
| friend_id | Yes | 候选人会话 friend_id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but only says this is a 'request' to exchange. It does not disclose whether the candidate must approve, whether the contact is revealed immediately or only after consent, whether the operation is reversible, or what rate/permission constraints apply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded sentence with no filler. The bracketed metadata is dense and machine-styled rather than prose, but it is compact and placed after the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, no-output-schema, no-annotation outbound request tool, the definition covers the platform/mode gating but leaves the consent flow and result behavior unexplained. It is minimally adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the type parameter already has an enum with a default, so structured data does the heavy lifting. The description's mention of phone/WeChat loosely maps to the type parameter but adds no format or behavior detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action and resource: '请求交换候选人手机号或微信' (request exchange of candidate phone/WeChat), scoped to recruiter mode. It does not explicitly distinguish itself from the sibling boss_exchange, but the 'recruiter mode' framing gives an agent enough to know which side of the platform it applies to.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability clause (roles=recruiter, recruiter_platforms=zhipin-recruiter) tells the agent it is recruiter-only, which is real usage guidance. However, there is no statement of when to use this versus boss_exchange, boss_hr_request_resume, or boss_hr_chat, and no exclusion conditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_hr_greetA
招聘者模式:单次建立会话、发送首次招呼;需操作者明确批准,不发送已读回执 [可用性: roles=recruiter; candidate_platforms=-; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
| lid | Yes | 推荐卡片 lid | |
| yes | No | 人工确认位;只有操作者明确批准此候选人和话术后才置 true,不得自行推断或在确认失败后自动改为 true | |
| suid | No | 可选 suid,当前通常为空 | |
| job_id | Yes | 推荐卡片 encryptJobId | |
| dry_run | No | 只预览候选人和话术,不发送 | |
| geek_id | Yes | 推荐卡片 encryptGeekId | |
| message | Yes | 首次招呼内容 | |
| expect_id | Yes | 推荐卡片 expectId | |
| security_id | Yes | 推荐卡片 securityId |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral load, and it does disclose two meaningful traits: an explicit operator-approval gate and that no read receipt is sent. It omits failure modes, retry/idempotency behavior, and consequences of calling it on a candidate who is already in a session, leaving real gaps for a write-type tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the mode, action and the approval constraint; the availability metadata is compactly bracketed at the end. Every clause earns its place, though the bracketed platform syntax is dense and slightly hard to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Nine parameters, six required, a mutation with no annotations and no output schema: the definition covers purpose, approval, and one side effect, which is decent. It still leaves an agent unsure about the return value, what happens when the same geek_id/job_id is greeted twice, and whether `dry_run` output differs from a live run.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all nine parameters, including the safety-relevant `yes` confirm flag and `dry_run`, are documented in the schema itself. The description adds no extra meaning about field formats or how the recommendation-card IDs relate to each other, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific action and scope: "招聘者模式:单次建立会话、发送首次招呼" tells the agent this is recruiter-mode, single-target session establishment plus first greeting. The "单次" wording implicitly distinguishes it from boss_batch_greet, but it never explicitly names that sibling or boss_greet as the alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States a precondition ("需操作者明确批准") and an availability gate (roles=recruiter, recruiter_platforms=zhipin-recruiter), which tells the agent when the tool is callable. It does not say when to prefer a different sibling, such as boss_batch_greet for multiple candidates or boss_hr_reply for continuing an existing conversation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_hr_jobsB
招聘者模式:查看职位管理列表,或执行上线/下线操作 [可用性: roles=recruiter; candidate_platforms=-; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 职位管理列表页码,仅 list 使用 | |
| action | No | 操作类型 | list |
| job_id | No | 职位 ID(online/offline 时必填) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden, yet it reveals almost no behavior beyond the availability line. It does not state that online/offline are state-changing mutations, whether taking a job offline is reversible, what confirmation or error behavior to expect, or whether page is ignored for those actions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence covers the operation and the availability constraint in a bracketed suffix. There is no redundant wording and the structure makes the two parts easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a no-annotation mutation tool with no output schema, so the description needed to explain the effects of online/offline and the shape of results. It only covers what the tool is and who can call it, leaving the behavioral consequences of the write actions entirely unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents page, action and job_id, including that job_id is required for online/offline. The description adds nothing about parameters that the schema does not already say, which is the baseline 3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (job management list, 职位管理列表) and specific actions (list, online, offline, 上线/下线), which is enough for an agent to know what the tool does. It does not distinguish itself from the sibling boss_hr_jobs_detail, which covers adjacent territory, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability block (roles=recruiter, candidate_platforms=-, recruiter_platforms=zhipin-recruiter) tells the agent when the tool is applicable, which is genuinely useful gating context. However, it never says when to pick this tool over boss_hr_jobs_detail or when not to use it, so the guidance remains implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_hr_jobs_detailA
招聘者模式:查看指定职位的完整详情(包括岗位描述 postDescription) [可用性: roles=recruiter; candidate_platforms=-; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
| enc_job_id | Yes | 职位的加密 ID(encryptJobId) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the role/platform availability constraint and that the response includes the full postDescription, and 'view' implies a read-only operation. It does not state whether the call is side-effect free, how errors surface for an invalid enc_job_id, or whether permission/ownership checks apply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded clause states the action and the key payload, followed by a compact availability tag. No redundant sentences; the bracketed metadata is dense but earns its place as gating information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, the description covers what is returned (full details including postDescription) and the access constraints. Only the error/empty-result behavior is unaddressed, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and there is only one parameter, so the schema already documents enc_job_id as the encrypted job ID. The description adds only that the job must be 'specified', providing no additional format, sourcing, or error semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: viewing the complete details of a specified job, and names the notable payload (postDescription). It does not explicitly contrast with the sibling boss_hr_jobs (presumably the list variant), so it earns a 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability block tells the agent this only works in recruiter mode on the zhipin-recruiter platform, which is useful gating context. However, it gives no when-to-use guidance relative to alternatives (e.g. boss_hr_jobs for listing, or boss_ai_analyze_jd for analysis), so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_hr_last_messagesB
招聘者模式:批量查看候选人最近消息摘要 [可用性: roles=recruiter; candidate_platforms=-; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 沟通列表页码 | |
| job_id | No | 按职位筛选 | |
| label_id | No | 标签筛选(0=全部, 1=新招呼, 2=沟通中) | |
| friend_ids | No | 候选人会话 friend_id 列表;不传时从 hr chat 页获取当前页候选人 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the whole burden of disclosure. It does establish the recruiter-only role and platform scope, which is real context, but it does not state whether this is a read-only operation, whether it consumes pagination from the visible chat list, or whether it marks conversations as read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded clause with the operating mode stated first, followed by a compact availability bracket. Nothing is redundant, though the bracketed metadata is terse to the point of being almost cryptic.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter, all-optional listing tool with no output schema and no annotations, the definition covers availability but not what the message summary contains or how pagination terminates. It is adequate to attempt a call but leaves the agent guessing about the returned shape and about when to prefer a sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; every parameter (page, job_id, label_id, friend_ids) is documented in the schema, including the fallback behavior when friend_ids is omitted. The description adds no parameter meaning beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: '批量查看候选人最近消息摘要' (batch-view candidate recent message summaries) in recruiter mode. That is far more than the tool name alone conveys. However, it never distinguishes this from similarly named siblings such as boss_chat_summary, boss_hr_chatmsg, or boss_hr_chat, so the agent must infer which summary/chat 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability block ('roles=recruiter; recruiter_platforms=zhipin-recruiter') is a genuine precondition and useful for ruling the tool in or out. But there is no explicit 'use this when…' statement and no routing to alternatives for single-conversation message history or full chat content, so selection remains implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_hr_recommendationsB
招聘者模式:读取推荐牛人完整卡片和首次开聊所需参数 [可用性: roles=recruiter; candidate_platforms=-; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 页码 | |
| job_id | Yes | 招聘职位的加密 ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, but the description identifies this as a read operation and discloses the required recruiter role and platform. It still does not clarify pagination behavior, whether any side effects occur, or the exact shape of the returned card data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with bracketed availability constraints and no wasted wording. The purpose and operating context are immediately clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool, the description covers purpose and availability, but it does not explain what a 'complete card' contains, how pagination works, or what the caller receives. With no output schema and no annotations, these gaps keep it at adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both page and job_id documented directly in the schema. The description adds no parameter-specific meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: recruiter mode reads recommended candidates' complete cards and parameters needed for first chat. It distinguishes the recruiter context from general recommendation/list tools, but does not explicitly contrast with siblings such as boss_hr_candidates or boss_hr_greet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives role/platform availability constraints (roles=recruiter; recruiter_platforms=zhipin-recruiter), which implies recruiter-mode usage. However, it does not say when to use this tool instead of nearby alternatives like boss_hr_candidates, boss_hr_greet, or boss_recommend.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_hr_replyB
招聘者模式:回复候选人消息 [可用性: roles=recruiter; candidate_platforms=-; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | 回复消息内容 | |
| friend_id | Yes | 候选人会话 friend_id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full disclosure burden for what is an outbound, effectively irreversible action (a message delivered to a real candidate). It says nothing about delivery semantics, failure modes, whether prior threads must exist, or whether the message is sent immediately. Only the role/platform gate is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact line with the action front-loaded and the availability constraint bracketed at the end. Nothing is wasted, though the bracketed metadata is dense and partially machine-syntax rather than prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema documents both required parameters and the description supplies the role/platform gate the schema omits, which is the key missing context for a two-parameter reply tool with no output schema. It still lacks any note on outcome or how it differs from the other chat/reply siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both message and friend_id are documented in the schema itself, so the description adds no parameter meaning. Baseline 3 is appropriate here since the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"招聘者模式:回复候选人消息" gives a specific verb (reply) and resource (candidate messages) plus the operating mode (recruiter). It does not distinguish itself from adjacent siblings such as boss_hr_chat, boss_hr_chatmsg, or boss_ai_reply, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability block (roles=recruiter; recruiter_platforms=zhipin-recruiter) implies the context in which this tool is valid, which is useful gating information. However, there is no explicit when-not guidance and no named alternative for reading a conversation versus replying into it, leaving the agent to infer routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_hr_request_resumeB
招聘者模式:请求候选人分享附件简历 [可用性: roles=recruiter; candidate_platforms=-; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
| friend_id | Yes | 候选人会话 friend_id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry the full behavioral load. It usefully discloses role and platform gating, which is the kind of auth/permission context the rubric credits. However, it says nothing about side effects (whether a message is sent into the candidate's chat), whether the request can be repeated or withdrawn, or what happens if the candidate never shares.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is compact and places the action at the front, with constraints in one bracketed clause. The shorthand 'candidate_platforms=-' is opaque and takes a moment to decode, which slightly reduces clarity, but there is no filler text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple single-parameter tool, but it has no annotations and no output schema, so the description must explain what a call returns. It does not say whether the tool returns a request status or an error, or how the sharing result is later retrieved (via boss_hr_accept_resume or boss_hr_resume). That leaves an important gap for an agent that runs a multi-step workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter, and schema description coverage is 100%: friend_id is documented as '候选人会话 friend_id'. The description adds no additional semantics about which identifier to obtain or how to source it. A baseline of 3 is the correct result when the schema already carries the parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'request candidate to share attachment resume' in recruiter mode, which is clear and unambiguous. It does not distinguish itself from closely related siblings such as boss_hr_accept_resume, boss_hr_download_resume, or boss_hr_resume, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability block states the tool is only usable with roles=recruiter on recruiter_platforms=zhipin-recruiter, which is real when-to-use guidance. It gives no explicit when-not guidance and never names alternatives (e.g., accept_resume for an already-shared resume), so the guidance is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_hr_resumeC
招聘者模式:查看候选人在线简历 [可用性: roles=recruiter; candidate_platforms=-; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | 输出原始 API 数据 | |
| job_id | Yes | 职位 encryptJobId(请求参数 encryptJid) | |
| geek_id | Yes | 候选人 encryptGeekId(请求参数 uid) | |
| security_id | Yes | 候选人的 security_id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. '查看' (view) implies a read-only operation, but the description never states whether viewing consumes quota or points, whether the candidate is notified, whether a security/permission check can fail, or what the response contains. Only the role/platform gate is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single compact sentence with the availability constraint front-loaded in brackets, and no filler. The bracketed notation is somewhat cryptic ('-' for candidate_platforms), but the size is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-required-parameter read tool with no annotations and no output schema, the description covers purpose and the role/platform gate but omits error conditions, quota/consumption behavior, and how it relates to the request/accept-resume flow. The complete schema partly compensates, leaving it adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all four parameters documented inline (including the encryptJid/uid/security_id mappings), so the schema does the heavy lifting. The description adds no parameter meaning beyond that, which is the expected baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource, '查看候选人在线简历' (view a candidate's online resume), scoped to '招聘者模式' (recruiter mode). An agent can tell it is a read of resume content rather than a search or list. It does not, however, differentiate itself from close siblings such as boss_resume_show, boss_hr_request_resume, or boss_hr_download_resume, so the agent still has to guess which resume tool applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability note give a hard precondition (roles=recruiter, recruiter_platforms=zhipin-recruiter), which is genuinely useful gating information. But there is no guidance on when to choose this over boss_resume_show, boss_hr_request_resume, or boss_hr_accept_resume, and no stated prerequisites such as whether the candidate must first be greeted or the resume accepted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_hr_whoamiA
招聘者模式:查看当前登录态是否处于招聘者侧。identity 为 1 才算就绪;profile_recruit 只回显,不切换身份 [可用性: roles=recruiter; candidate_platforms=-; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full burden and does disclose the key behavior: this is a read-only state inspection, and 'profile_recruit 只回显,不切换身份' explicitly warns that the profile field is echoed rather than used to switch identity — a non-obvious side-effect clarification. The platform/role gating constraint is also given. It stops short of describing side effects or failure modes in more detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first clause, followed by the readiness rule and a caveat, with availability metadata bracketed at the end so it doesn't obscure the main statement. Dense but every segment carries distinct information; the bilingual/mixed Chinese-English naming is slightly harder to parse but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter inspection tool this covers purpose, gating, and the identity==1 criterion, and hints at response fields (identity, profile_recruit). However, with no output schema, the description never specifies the full return shape or what a non-ready response looks like, leaving the agent to infer how to interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies. The description adds field-level meaning (identity, profile_recruit) that goes beyond an empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: '查看当前登录态是否处于招聘者侧' (check whether the current session is on the recruiter side). It also states the readiness criterion 'identity 为 1 才算就绪', so an agent understands this is an identity/state check rather than a profile fetch. It does not explicitly contrast itself with siblings such as boss_me or boss_status, which keeps it out of the top band.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'identity 为 1 才算就绪' tells the agent the precondition for proceeding with recruiter work, and the bracketed availability line (roles=recruiter, candidate_platforms=-, recruiter_platforms=zhipin-recruiter) states which role and platform the tool applies to, effectively excluding candidate-side use. No sibling alternatives are named, so it doesn't reach 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_interviewsB
查看面试邀请列表 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral-disclosure burden. '查看...列表' implies a read operation, and the availability tag adds scope, but there is no mention of pagination, authentication, return contents, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core action, followed by a compact availability tag. There is little wasted wording, though the bracketed availability syntax is terse rather than explanatory.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter list tool, the description is adequate at a high level. Without an output schema, though, it does not describe what the list contains or whether results are paginated, which leaves clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description adds no parameter semantics because there are none to explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb and resource: '查看面试邀请列表' (view interview invitation list). The availability tag distinguishes it from recruiter-side tools via recruiter_platforms=-, but it does not name a specific sibling alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Availability constraints (roles=candidate, candidate_platforms=zhipin, recruiter_platforms=-) tell when the tool is usable. However, there is no explicit when-to-use guidance versus alternatives or explanation of what to use for recruiter views or other platforms.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_markB
给联系人添加或移除标签(新招呼/沟通中/已约面/不合适/收藏等) [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| tag | Yes | 标签名称 | |
| remove | No | 是否移除标签 | |
| security_id | Yes | 联系人的 uid(推荐)或 security_id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden: it never states that this is a mutating operation with side effects, whether removal is idempotent, what happens when the tag does not currently exist, or whether the change is reversible. The add/remove distinction it does convey is already encoded in the `remove` boolean parameter, so it adds little behavioral context of its own.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single purpose sentence with an appended bracketed constraint block; there is no redundant or filler wording, and the core action is front-loaded. The parenthetical tag list is slightly bulky but earns its place as the only enumeration of valid tag values.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter mutation tool with no annotations and no output schema, the description covers what and who but not the effect: no statement about return values, error conditions, or whether a tag list is returned after mutation. It is adequate to call the tool correctly in the happy path but leaves the agent to infer mutation semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameter baseline is 3, but the description goes beyond the schema by naming actual tag values (新招呼, 沟通中, 已约面, 不合适, 收藏), whereas the schema only says "标签名称" without any enumeration. It still does not explain the security_id vs uid resolution hint or the default-false semantics of `remove`, so it is not a full 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb pair and resource: add or remove a tag on a contact (给联系人添加或移除标签). It also enumerates concrete tag categories (新招呼/沟通中/已约面/不合适/收藏等), so the agent knows exactly what object is being mutated. It does not explicitly contrast itself with tag-adjacent siblings such as boss_shortlist_annotate or boss_favorites_list, which keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the purpose statement; there is no explicit "use this when / use X instead" routing against the many sibling tools. The bracketed availability clause (roles=candidate, candidate_platforms=zhipin, recruiter_platforms=-) is genuine scoping guidance that tells the agent who can call it and on which platform, which is more than nothing but is not an alternative-selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_meA
获取当前登录用户信息(基本信息、简历、求职期望、投递记录) [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| section | No | 指定查看的部分 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It discloses the scope of data exposed (profile, resume, job expectations, application records) and the role/platform prerequisite, which is useful auth context. It does not state read-only semantics explicitly, nor behavior when `section` is omitted, nor return shape or size.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence plus a compact availability tag; the core purpose is front-loaded and nothing is padded. The availability tag is dense but is structured as a bracketed constraint rather than prose, which keeps it scannable. Slight deduction for the terse tag format being less readable than plain language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, single-optional-parameter tool with no output schema, the description covers what data comes back, the four section domains, and the role/platform prerequisite. The main omission is default behavior when `section` is absent. Given low complexity, this is close to complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter has an enum with a description, so the schema already does the work. The description does add a loose mapping by naming the four data domains in the parenthetical, but it does not clarify default behavior or whether multiple sections can be requested. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('获取当前登录用户信息') and enumerates the four data domains returned (基本信息、简历、求职期望、投递记录), which maps directly onto the `section` enum. The role gating line (roles=candidate; recruiter_platforms=-) implicitly separates it from the recruiter-side sibling boss_hr_whoami, though it never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability clause gives a real usage constraint: only for candidate role on the zhipin platform, not recruiters. That is genuine when-to-use guidance. However, there is no guidance on when to call this versus boss_show or boss_resume_show, and no hint about which `section` value to choose or what happens if it is omitted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_pipelineA
聚合聊天和面试数据,生成统一候选进度视图 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description must carry the behavioral burden. It does disclose the meaningful trait that this is a cross-source aggregation producing a merged view (implying a read operation with no side effects), but it never states read-only status, cost/latency of aggregating two datasets, or what the merged view consists of.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact clause describes the operation and output, and the availability tag is appended as a clearly delimited constraint. Nothing is padded, though the description is arguably too terse rather than too long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description is the only source of truth, yet it does not say what fields the 'unified progress view' returns or how chat and interview data are reconciled. For a zero-parameter aggregation tool this is adequate to select it but incomplete for predicting its results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. No conflicting or missing parameter semantics are introduced.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete verb pair (聚合/aggregate, 生成/generate) over specific resources (聊天和面试数据 chat and interview data) producing a named artifact (统一候选进度视图 unified candidate progress view). This clearly separates it from single-source siblings such as boss_interviews or boss_chat_summary, though it does not explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability tag gives a real gating rule (roles=candidate, candidate_platforms=zhipin, recruiter_platforms=-), which tells an agent when the tool is callable but not when it should be preferred over boss_interviews, boss_chat_summary, or boss_stats. Usage is implied rather than argued.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_preset_addB
保存搜索预设 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | 城市(可选) | |
| name | Yes | 预设名称 | |
| query | Yes | 搜索关键词 | |
| active | No | HR 活跃度下限(可选) | |
| salary | No | 薪资范围(可选) | |
| welfare | No | 福利筛选(可选) | |
| education | No | 学历要求(可选) | |
| experience | No | 经验要求(可选) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing beyond the platform/role restriction. It does not say whether the call persists a new preset, what happens if a preset with the same name already exists (overwrite vs. duplicate vs. error), or what the result looks like. For a write/persist operation with zero annotation coverage this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short front-loaded sentence plus a compact structured constraint block, with no wasted wording. It is efficient, though the brevity reflects under-specification as much as discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an eight-parameter write tool with no annotations and no output schema, the definition is thin: persistence semantics, duplicate-name handling, and response shape are all left unstated. The availability constraint is the only behavioral information supplied, which is not enough to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all eight parameters — including the enumerated 活跃度 values — are documented in the schema itself. The description adds no additional meaning about parameters, so the baseline 3 applies; the schema does the work here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description pairs the verb 保存 (save) with the resource 搜索预设 (search preset), which is unambiguous and clearly distinct from siblings like boss_preset_list and boss_preset_remove. It does not explicitly name those siblings, but the create-vs-list-vs-remove split is obvious from the wording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability note (roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-) tells the agent when this tool is NOT usable — recruiters are excluded and only Zhipin candidates qualify — which is genuine when-not guidance. However, it never routes the agent to alternatives such as boss_preset_list to check for existing presets before adding one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_preset_listA
列出所有搜索预设 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It does disclose the role/platform availability constraints, which is real context an agent cannot get from the empty schema, but it says nothing about ordering, result shape, or whether the list is empty when no presets exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded clause states the action, followed by a compact bracketed availability gate. No redundant or filler wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only listing tool with no output schema, the description covers what is listed and who may call it. Only minor gaps remain, such as what fields a preset entry contains or what an empty result means.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema baseline of 4 applies. There is no parameter meaning for the description to add or omit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"列出所有搜索预设" states a specific verb (list) and resource (search presets), which cleanly separates it from the sibling mutation tools boss_preset_add and boss_preset_remove. It does not explicitly name those siblings, but the read-only listing framing makes the distinction obvious.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability clause (roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-) tells the agent when the tool is callable, which is genuinely useful gating information. However, it gives no guidance on when to list presets versus using boss_preset_add/remove or how the results relate to boss_search, so usage is only partially implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_preset_removeB
删除指定搜索预设 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | 预设名称 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden for a destructive operation. It discloses role/platform gating, which is genuinely useful, but says nothing about whether deletion is permanent, whether the preset is recoverable, or what happens if the name does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded clause states the action, followed by a compact bracketed constraint block; there is no filler. The bracketed availability notation is terse but not explained, which slightly reduces readability for an agent unfamiliar with the convention.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, no-output tool this covers the essentials: action and applicability constraints. However, for a delete operation with no annotations and no output schema, the omission of irreversibility and failure-mode behavior leaves a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter whose schema description ("预设名称") already covers it at 100% coverage, so the baseline of 3 applies. The description adds no format, case-sensitivity, or lookup semantics for the name beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"删除指定搜索预设" gives a specific verb (delete) and resource (search preset), which clearly separates it from siblings like boss_preset_add and boss_preset_list. It stops short of explicitly naming or contrasting those siblings, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the verb: delete a preset by name. There is no guidance on when to remove versus rename or list first, and no mention of confirming the preset exists before deleting. The bracketed availability clause does add a real precondition (roles=candidate; candidate_platforms=zhipin), which is worth credit but is not alternative-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_recommendA
获取基于简历的个性化职位推荐 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 页码 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full disclosure burden. '获取' implies a read-only operation and the availability tag communicates role/platform gating, but nothing is said about whether a stored resume is required, how many recommendations come back, pagination limits, or rate behavior. Adequate for a simple read, but leaves real gaps for a no-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence stating purpose, followed immediately by an availability constraint. Every element carries information and there is no padding. A slightly clearer separation of purpose and gating would earn a 5, but this is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, no-output-schema read tool, the description covers purpose and the role/platform gate that determines whether the call is valid at all. The main remaining unknown is the precondition that a resume must exist to personalize results. Given the tool's simplicity, that is a minor gap rather than a blocking one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single optional 'page' parameter and schema description coverage is 100%, with the schema already labeling it '页码'. The description adds no meaning about paging depth, page size, or what happens when page exceeds available results. Baseline 3 is appropriate when the schema fully documents the only parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: fetch personalized job recommendations derived from the resume. The bracketed availability tag (roles=candidate, candidate_platforms=zhipin) makes clear it is the candidate-side counterpart to boss_hr_recommendations, so an agent can distinguish it without opening the schema. It stops short of naming the sibling outright, so not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The availability clause gives a concrete usage gate: only call this when the acting role is candidate and the platform is zhipin, and it explicitly excludes recruiter platforms. That is useful routing information. It does not, however, name an alternative tool to call when the gate fails (e.g. boss_hr_recommendations for recruiters), so guidance is conditional rather than complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_resume_listA
列出所有本地简历(名称、创建时间、关联职位数) [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description still conveys a read-only listing operation, its exhaustive local scope, and the metadata included for each resume. It does not clarify ordering, empty-result behavior, or where local resumes are stored, but these are secondary for a simple listing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the operation, scope, and returned fields. The bracketed availability metadata adds useful constraints without unnecessary prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-argument list operation, the description provides enough information to invoke it correctly and understand its basic result despite the absence of an output schema. Explicit routing to boss_resume_show and minor result-behavior details would make it more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so there is no parameter meaning for the description to supply. Its lack of filtering or pagination inputs is consistent with the stated scope of listing all local resumes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action and resource: listing all local resumes, with name, creation time, and associated-job count. The local, all-resume scope helps distinguish it from detail and recruiter-oriented resume siblings, though no sibling is explicitly named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The availability metadata explicitly limits use to candidate roles on the zhipin candidate platform and excludes recruiter platforms. It does not explain when to use boss_resume_show instead for an individual resume's details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_resume_showA
查看指定简历的完整内容(基本信息、教育、工作经历、技能、项目) [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | 简历名称 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It discloses the read-only nature ('查看') and the returned content sections, plus the role/platform restriction, but says nothing about what happens when the named resume does not exist, permission failures, or whether output is truncated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded clause names the action, the resource, and the returned sections, followed by a compact availability tag. There is no filler; the only weakness is that the bracketed metadata reads as machine annotation rather than prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, enumerating the returned sections effectively substitutes for return-value documentation, and the availability tag covers access constraints. Only the absence of failure/edge-case behavior keeps it short of full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With one parameter at 100% schema coverage, the schema already documents that 'name' is 简历名称. The description adds only the word '指定简历', implying the name selects a single existing resume, without clarifying whether it is an exact match, a title, or a path.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('查看') and resource ('指定简历'), and it enumerates exactly what is returned: 基本信息、教育、工作经历、技能、项目. This makes it clearly the detail-view counterpart to boss_resume_list, but it never names that sibling, so differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The availability bracket is a genuine when-to-use signal: it is only valid for roles=candidate on candidate_platforms=zhipin, and explicitly unavailable to recruiters (recruiter_platforms=-). However, there is no routing guidance among alternatives such as boss_resume_list or boss_hr_resume, so an agent must infer that this is the full-content fetch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_searchB
按关键词和筛选条件搜索 BOSS 直聘职位列表。支持城市、薪资、经验、学历、福利等多维度筛选。 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | 城市名称(如 北京、广州) | |
| page | No | 页码 | |
| sort | No | 排序方式 | relevance |
| query | Yes | 搜索关键词(如 Golang、Python 后端) | |
| active | No | 只保留 HR 活跃度不低于该档的职位;online 只看列表、请求量与普通搜索相同,其余档位列表看不出时会逐个查详情(更慢、风控风险更高),活跃度未知的职位会被排除并写进 hints.active_filter | |
| salary | No | 薪资范围(如 20-50K) | |
| welfare | No | 福利筛选,逗号分隔 AND 逻辑(如 双休,五险一金) | |
| education | No | 学历要求(如 本科) | |
| experience | No | 经验要求(如 3-5年) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden, and it does disclose the non-obvious role/platform constraint that would otherwise cause failed calls. It says nothing about result shape, pagination cost, or rate-limit behavior; the notable risk disclosure for the `active` filter lives only in the schema, not the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences followed by a compact availability tag, with the core purpose front-loaded. Every element is relevant; only minor slack from restating the filter list that the schema already covers.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nine-parameter search tool with no output schema and no annotations, the description is adequate but thin: it does not tell the agent what a result set looks like, how paging behaves beyond the `page` param, or how expensive the detail-fetching filters are. The critical cost/risk caveat only exists in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains all nine parameters including the tricky `active` tiers and the AND-semantics of `welfare`. The description merely enumerates the same filter dimensions, adding no format or syntax detail beyond what is structured.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('搜索 BOSS 直聘职位列表') plus the filter dimensions, so it is clearly distinguishable from siblings like boss_detail, boss_recommend, or boss_greet. It does not explicitly name those alternatives, but the purpose is unambiguous without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability tag ('roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-') does tell an agent when the tool is callable and when it is not, which is useful gating. However, there is no guidance on when to prefer this search over boss_recommend, boss_cities, or boss_preset_* for discovery, so routing between siblings is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_shortlist_addB
将职位加入本地候选池,可附加本地标签和备注 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| lid | No | 与 security_id 同一列表项的访问上下文(可选;不推断有效期) | |
| note | No | 本地备注 | |
| tags | No | 本地标签,逗号分隔 | |
| job_id | Yes | 加密职位 ID | |
| security_id | Yes | 职位安全 ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden of behavioral disclosure. It mentions local persistence and role/platform availability, but omits duplicate/idempotency behavior, whether adding an existing job overwrites tags or notes, and what happens on success or failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with a compact availability bracket and no filler. The bracket is dense but useful; overall wording is efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an unannotated mutation tool with no output schema, the description covers the core action and applicability constraints. It remains incomplete regarding duplicate handling, side effects, and return behavior, though the fully described input schema mitigates the parameter gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters. The description restates that tags and notes can be attached, but adds no additional meaning, format, or constraints beyond what the input schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (加入/add) and resource (本地候选池/local candidate pool), and notes that local tags and notes can be attached. It is distinguishable from siblings like boss_shortlist_remove, boss_shortlist_list, and boss_shortlist_annotate by the add action, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The availability block gives concrete applicability constraints (roles=candidate, candidate_platforms=zhipin, recruiter_platforms=-), which tells an agent when the tool is usable. However, it does not explicitly say when to choose this over boss_shortlist_annotate or boss_shortlist_list, so usage guidance is implied rather than fully stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_shortlist_annotateB
更新本地候选池职位的标签和备注 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | 替换本地备注 | |
| job_id | Yes | 加密职位 ID | |
| add_tags | No | 要添加的本地标签 | |
| remove_tags | No | 要移除的本地标签 | |
| security_id | Yes | 职位安全 ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It does usefully disclose that the operation is '本地' (local-only, not affecting the platform), which a caller couldn't infer from the name alone, but it omits what happens if the job isn't in the shortlist, whether add_tags merges or overwrites, and any error or permission behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single front-loaded sentence naming the action and resource, followed by a compact availability tag. Nothing is wasted, though the availability bracket is dense and could be easier to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the fully documented input schema and the explicit availability constraint cover much of the need. However, whether the tool fails or no-ops when the job isn't already shortlisted, and what the caller gets back, is left unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (note, add_tags, remove_tags, job_id, security_id) is already documented in the schema, including the critical fact that note replaces rather than appends. The description adds no parameter-level detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('更新') and a specific resource ('本地候选池职位的标签和备注'), so the scope is clear without opening the schema. It doesn't explicitly distinguish itself from siblings like boss_shortlist_add or boss_shortlist_remove, although the word '标签和备注' in effect points to the annotation action rather than to adding or removing a shortlist entry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability line tells the caller which role and platform can use this tool (roles=candidate, candidate_platforms=zhipin), which is real usage guidance. However, the description never says when to choose this tool over boss_shortlist_add, boss_shortlist_remove, or boss_shortlist_list, nor does it state the precondition that the job must already be in the local pool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_shortlist_compareB
本地对比候选池职位,可按标签过滤 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | 只比较包含该标签的本地候选职位 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It mentions local operation and platform availability, but does not clarify whether the comparison is read-only, what it returns, or how comparison results are structured.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, stating the core operation first and the optional filter second. The availability bracket is terse but adds useful constraints without unnecessary prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-optional-parameter tool, the description gives enough information to invoke it. However, with no annotations or output schema, it remains unclear what the comparison actually evaluates or returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single optional tag parameter is already documented in the schema. The description restates tag filtering but adds no syntax, matching behavior, or meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: locally compare candidate-pool positions, with optional tag filtering. It is distinguishable from sibling shortlist tools such as list/add/annotate/remove, though it does not explicitly name the closest alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage for comparing local candidate-pool records and mentions tag filtering plus availability constraints. However, it does not explicitly say when to use this instead of boss_shortlist_list or other shortlist-related tools, nor does it state exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_shortlist_listA
查看候选池中的所有职位 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description must carry the behavioral burden. "View all" implies a read-only listing operation and the availability tag discloses platform/role restrictions, but nothing is said about result size, ordering, pagination, or what happens when the pool is empty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single clause plus a compact bracketed qualifier, front-loaded with the action. No filler, though the bracket notation is terse and requires the reader to decode key=value semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless list tool with no output schema, the definition covers scope and availability but leaves open what each entry contains and how many are returned. It is adequate to select the tool but thin on what to expect back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to explain and the baseline of 4 applies. The description adds no misleading parameter claims.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ("查看...所有职位" – view all jobs in the candidate pool), which tells an agent exactly what the tool returns. It does not, however, differentiate itself from near-siblings such as boss_favorites_list or boss_preset_list, whose names imply similar listing behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability note gives real context: the tool only applies when roles=candidate on candidate_platforms=zhipin and is not available to recruiter platforms. That is useful gating information, but there is no guidance on when to choose this over the other shortlist/favorites listing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_shortlist_removeB
从候选池移除职位 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | 加密职位 ID | |
| security_id | Yes | 职位安全 ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It says the job is removed but not whether removal is reversible, whether it errors when the job is absent from the pool, or what permissions are needed. The availability constraint is useful but does not cover the mutation's behavioral profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the operation stated first and the availability qualifier bracketed afterwards. No wasted wording, though the bracketed metadata is terse to the point of needing decoding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no annotations and no output schema, the description should disclose at minimum reversibility and the effect of removing a job that is not in the pool. Combined with zero return-value information, this leaves meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both job_id (加密职位 ID) and security_id (职位安全 ID) are documented in the schema. The description adds no meaning about how these IDs are obtained or how they relate, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource pair: removing a job from the candidate shortlist pool (从候选池移除职位). This clearly contrasts with the sibling boss_shortlist_add, though it does not name that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability clause gives real usage context — only valid for roles=candidate, on the zhipin candidate platform, and not for recruiter platforms — which implies when the tool applies. However, it offers no explicit when-not guidance or pointer to alternatives such as boss_shortlist_list or boss_shortlist_annotate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_showA
按编号快速查看上次搜索或推荐结果中的职位详情 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | 职位编号(从搜索结果中获取) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. '查看' implies a read-only lookup, but the description does not say whether viewing marks the job as seen, what is returned, or whether the number stays valid after a new search replaces the result set. The availability line adds some useful context on eligibility, but the behavior profile is still thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one front-loaded sentence plus a compact bracketed availability tag, with no redundant restatement of the name or title. An agent can scan it instantly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool there is no output schema, so the description must indicate what comes back; '职位详情' is only a vague signal of the returned payload. The provenance rule for the number is covered, but nothing addresses staleness of the cached result set or what happens when the number is out of range.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: the single 'number' parameter is already documented as '职位编号(从搜索结果中获取)'. The description restates that the number comes from the last search or recommendation results, which slightly reinforces the schema but adds no syntax, range, or validation detail. A baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource phrase ('按编号快速查看…职位详情'), so it is clear that this is a lookup-by-number view tool. It also narrows the scope by saying the number is drawn from the last search or recommendation results. However, it never names the close sibling boss_detail, so an agent must infer on its own why it should use this tool instead of the general detail tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracket lists availability constraints (roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-), which amounts to an implied precondition for when to call this tool. But there is no explicit guidance on when not to use it or on the distinction from boss_detail or boss_resume_show, so the guidance is only partial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_statsB
投递转化漏斗统计(只读聚合打招呼、投递、候选池、监控数据) [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | 统计窗口天数 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full behavioral burden. It does disclose the key trait that this is a read-only operation ("只读") and defines the scope of aggregation, plus the role/platform gating — useful context an agent cannot get from structured fields. It stops short of covering cost, latency, or the shape of the returned metrics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the operation stated first, followed by the aggregation scope and then the availability constraint. No filler; the bracketed metadata is dense but readable and positioned after the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-optional-parameter read-only stats tool this is close to sufficient — the source datasets are named. But with no output schema, the agent still cannot anticipate what the funnel response looks like (stage names, counts vs. rates, per-period breakdown), and the description does not fill that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single optional parameter `days` ("统计窗口天数"), so the schema already defines its meaning. The description adds nothing about the window semantics, defaults, or granularity beyond what the schema states, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and computation: "投递转化漏斗统计" (application conversion funnel statistics), and enumerates exactly which data it aggregates (greetings, applications, candidate pool, watch/monitor data). This is clearly distinguishable from the other stats-flavored sibling boss_agent_stats, though the description never explicitly contrasts them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability clause gives real eligibility guidance — roles=candidate, candidate_platforms=zhipin, and recruiter_platforms=- explicitly tell the agent this must not be used for recruiter-side work. However, there is no task-oriented when-to-use guidance and no explicit routing to alternatives such as boss_agent_stats, boss_pipeline, or boss_digest.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_statusB
检查 BOSS 直聘登录态 [可用性: roles=candidate, recruiter; candidate_platforms=zhipin; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. The bracketed availability block is genuinely useful context: it tells the agent which roles and platforms this tool supports. However, the description does not say what the tool returns, whether it reports per-platform login state, what happens when the user is not logged in, or whether it triggers an auth flow. Those gaps matter for a status-check tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded clause, with the qualifier bracketed at the end, and there is no filler. It is appropriately sized for a zero-parameter status check.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and has no output schema, so the description need not document the return shape. It should still tell an agent what a success or failure result looks like, and whether this tool covers one or multiple accounts. Without those details or annotations, the definition is adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the description has no parameter semantics to add. The availability qualifiers (roles, platforms) are documented, which is more than the empty schema conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb plus a specific resource: '检查' (check) '登录态' (login state) for BOSS 直聘. That is far more concrete than a tautology, and no sibling tool appears to duplicate it, but the description does not explicitly say how this tool differs from related account-scoped tools such as boss_me or boss_config.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to call this tool or when not to call it. A reader can only infer that it is a prerequisite or health check to run before other boss_* operations, because the description never states that, and it names no alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_watch_addB
保存增量监控的搜索条件 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | 城市(可选) | |
| name | Yes | 监控名称 | |
| query | Yes | 搜索关键词 | |
| salary | No | 薪资范围(可选) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden of behavioral disclosure. It does not say whether saving is idempotent, what happens when a watch with the same name already exists, whether the monitor starts running immediately, or how to schedule it. For a create-type tool with zero annotation coverage, this is a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded clause with no filler, and the availability constraint is appended compactly. The bracketed availability tag is somewhat cryptic in phrasing, but it does not waste space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation that persists configuration, has four parameters, no output schema, and no annotations, so the description should explain persistence and duplicate semantics as well as what a successful save returns. It supplies only the purpose and a platform/role gate, which is too thin for a tool of this type.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (city, name, query, salary) is already documented inline. The description only adds that these values collectively form the saved 'search criteria', which is a marginal addition, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: saving search criteria for incremental monitoring ("保存增量监控的搜索条件"). This clearly distinguishes it from boss_watch_list, boss_watch_run, and boss_watch_remove. However, it does not explicitly contrast itself with boss_preset_add, which is a similar 'save a config' sibling, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "增量监控" implies the use case: persist a search so it can be re-run incrementally later. The availability tag also restricts it to the candidate role on the zhipin platform. Still, the description never states when to use this instead of boss_preset_add, or when-not to use it, leaving usage to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_watch_listA
列出所有已保存的监控条件 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. '列出' implies a read-only operation and the availability line adds genuine deployment constraints, but nothing is said about ordering, volume, or what happens when no watch conditions are saved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded purpose sentence plus a compact bracketed constraint — no waste. The bracket notation is terse but decodable, and the core purpose is stated first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param, no-output-schema listing tool this is nearly sufficient: the agent knows what it returns (the saved watch conditions) and under which role/platform it is valid. Only the shape of the returned list is left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case. The description correctly implies no inputs are needed and adds a scoping note via the availability block.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: list all saved watch conditions. The 'saved' qualifier separates it from boss_watch_add/remove in spirit, but the description never names those siblings, so the agent must infer the boundary itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability block gives a real gating condition (roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-), which tells the agent when the tool applies. However there is no guidance on when to read this list versus running the watches (boss_watch_run) or adding a new one (boss_watch_add).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_watch_removeB
删除指定监控 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | 监控名称 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It says only 'delete' — it does not state whether removal is permanent, whether confirmation is required, or what happens when the given name matches no watch. The role/platform gating is the sole behavioral fact conveyed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded clause with the action first, followed by a compact bracketed constraint block; nothing is redundant. It is arguably terse to a fault, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-annotation destructive tool with no output schema, the definition should at minimum say whether deletion is irreversible and how failures are reported. Neither is present, leaving an agent unable to judge the risk of invoking it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter whose schema description ('监控名称') already covers 100% of the surface, so baseline 3 applies. The phrase '指定监控' (the specified watch) reinforces that the name identifies an existing watch but adds no format, matching, or case-sensitivity detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description pairs a specific verb ('删除' / delete) with a specific resource ('指定监控' / the specified watch item), so the operation is unambiguous. It does not explicitly contrast with siblings such as boss_watch_add, boss_watch_list, or boss_watch_run, but the verb alone makes the distinction clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability clause states a real precondition (roles=candidate, candidate_platforms=zhipin, recruiter_platforms=-), which tells the agent whether the tool is callable at all. However, it gives no guidance on the workflow context — e.g., that a watch must first be created via boss_watch_add or listed via boss_watch_list to obtain a valid name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_watch_runB
执行指定监控并返回新增职位列表 [可用性: roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-]
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | 监控名称 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden, and it does disclose that only newly added jobs are returned – implying persistent state across runs. It does not say whether the call triggers a live crawl, how long it takes, whether returned jobs are marked as consumed, or whether repeated invocations are idempotent. For an execution tool with side effects and no annotations, that is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The action and the return value are front-loaded in one compact clause, and the availability constraint is clearly bracketed as metadata. Nothing is redundant, though the extreme terseness leaves the behavioral gaps noted above rather than fixing them.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a single-parameter mutation-style execution tool, the description should say more about the runtime behavior and the shape of the returned job list. It conveys the core contract (run a watch, get new jobs) and the eligibility gate, which is the minimum viable set, but not enough for an agent to predict cost, latency, or state effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter whose schema description ('监控名称') already covers it at 100% coverage, so the baseline of 3 applies. The description adds nothing about name format, case sensitivity, or where valid names come from (presumably boss_watch_list).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action and result in '执行指定监控并返回新增职位列表' – run a named watch and get back only newly found jobs. This separates it from boss_watch_list (list watches) and boss_watch_add/remove (manage them), which are the nearest siblings. It stops short of naming those siblings explicitly, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bracketed availability block (roles=candidate; candidate_platforms=zhipin; recruiter_platforms=-) tells the agent who may call it and implicitly who may not, which is genuine conditional guidance. However, it never states prerequisites such as needing an existing watch name from boss_watch_list, nor does it point to alternatives when the role or platform does not match.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boss_wizardB
执行、恢复、查询或停止与真人向导共享的持久化 workflow;先调用 boss schema 发现 wizard_catalog [可用性: roles=candidate, recruiter; candidate_platforms=zhipin; recruiter_platforms=zhipin-recruiter]
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | run 时的 catalog goal | |
| role | No | run 时的角色 | |
| action | No | workflow 操作 | run |
| inputs | No | goal 所需的 JSON 参数 | |
| run_id | No | resume/status/stop 的显式 workflow run_id | |
| timeout | No | workflow 超时秒数 | |
| platform | No | run 时的平台,如 zhipin | |
| max_retries | No | 可恢复步骤的最大重试次数 | |
| requested_steps | No | 可选的 goal 内步骤子集 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions persistent workflows and a stop action, but does not describe permissions, side effects, reversibility, authentication needs, or what happens to existing state when stopping or resuming.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence with the action list front-loaded. The bracketed availability note is useful and compact, though the sentence is slightly cramped by packing purpose, prerequisite, and availability into one line.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nine-parameter orchestration tool with no output schema and no annotations, the description covers the core purpose, prerequisite schema discovery, and availability constraints. It still leaves out behavioral details an agent would want before invoking a persistent workflow, especially around stop/resume side effects and output expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all nine parameters and the baseline is 3. The description adds useful context about discovering wizard_catalog and availability by role/platform, but it does not further clarify inputs, run_id, timeout, or retry semantics beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names four specific verbs (execute, resume, query, stop) and a clear resource: a persistent workflow shared with a human guide. It does not explicitly differentiate this tool from related orchestration siblings such as boss_agent_run or boss_watch_run, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an important prerequisite: first call boss schema to discover wizard_catalog. It also lists availability constraints by role and platform. However, it does not say when to use this instead of the many sibling workflow/agent tools, nor does it provide when-not guidance.
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.
4 tool updates
v3.2.0- Changed
boss_agent_run1 field changed- added
Input schema / properties / limit / minimumAdded value: +1
- Changed
boss_agent_train1 field changed- added
Input schema / properties / limit / minimumAdded value: +1
- Changed
boss_export1 field changed- changed
Input schema / properties / output_file / descriptionPrevious value: -"输出文件路径;不传则在 stdout 信封内 inline 返回 jobs 列表"New value: +"输出文件路径;不传时 csv/json 在信封内返回 jobs 列表,html 在 data.content 返回 HTML 正文"
- Changed
boss_me1 field changed- changed
Input schema / properties / section / enumPrevious value: -[ - "info", - "resume", - "expect", - "deliver" -]New value: +[ + "user", + "resume", + "expect", + "deliver" +]
7 tool updates
v3.0.1- Changed
boss_agent_run1 field changed- added
Input schema / properties / resumeAdded value: +{ + "default": false, + "description": "仅在操作者明确确认已完成官方验证、已核实未确认动作并要求恢复时设为 true;保留已确认动作和队列 checkpoint,普通 run 不解除停止状态", + "type": "boolean" +}
- Changed
boss_hr_jobs1 field changed- added
Input schema / properties / pageAdded value: +{ + "default": 1, + "description": "职位管理列表页码,仅 list 使用", + "type": "integer" +}
- Changed
boss_hr_resume2 fields changed- changed
Input schema / properties / geek_id / descriptionPrevious value: -"候选人 geek_id"New value: +"候选人 encryptGeekId(请求参数 uid)" - changed
Input schema / properties / job_id / descriptionPrevious value: -"关联职位 ID"New value: +"职位 encryptJobId(请求参数 encryptJid)"
- Added
boss_hr_whoami - Changed
boss_preset_add1 field changed- added
Input schema / properties / activeAdded value: +{ + "description": "HR 活跃度下限(可选)", + "enum": [ + "online", + "today", + "3d", + "week", + "2w", + "month", + "half-year" + ], + "type": "string" +}
- Changed
boss_search1 field changed- added
Input schema / properties / activeAdded value: +{ + "description": "只保留 HR 活跃度不低于该档的职位;online 只看列表、请求量与普通搜索相同,其余档位列表看不出时会逐个查详情(更慢、风控风险更高),活跃度未知的职位会被排除并写进 hints.active_filter", + "enum": [ + "online", + "today", + "3d", + "week", + "2w", + "month", + "half-year" + ], + "type": "string" +}
- Changed
boss_shortlist_add1 field changed- added
Input schema / properties / lidAdded value: +{ + "default": "", + "description": "与 security_id 同一列表项的访问上下文(可选;不推断有效期)", + "type": "string" +}
4 tool updates
v3.0.0- Changed
boss_chat_summary1 field changed- changed
Input schema / properties / security_id / descriptionPrevious value: -"好友的 security_id"New value: +"好友的 uid(推荐,取自 boss_chat,跨请求稳定)或 security_id"
- Changed
boss_chatmsg1 field changed- changed
Input schema / properties / security_id / descriptionPrevious value: -"好友的 security_id"New value: +"好友的 uid(推荐,取自 boss_chat,跨请求稳定)或 security_id"
- Changed
boss_exchange1 field changed- changed
Input schema / properties / security_id / descriptionPrevious value: -"联系人的 security_id"New value: +"联系人的 uid(推荐)或 security_id"
- Changed
boss_mark1 field changed- changed
Input schema / properties / security_id / descriptionPrevious value: -"联系人的 security_id"New value: +"联系人的 uid(推荐)或 security_id"
4 tool updates
v2.0.0- Added
boss_hr_accept_resume - Added
boss_hr_download_resume - Added
boss_hr_greet - Added
boss_hr_recommendations
73 tool updates
v1.19.1- Added
boss_agent_pending - Added
boss_agent_review - Added
boss_agent_review_approve - Added
boss_agent_review_reject - Added
boss_agent_run - Added
boss_agent_stats - Added
boss_agent_stop - Added
boss_agent_train - Added
boss_ai_analyze_jd - Added
boss_ai_chat_coach - Added
boss_ai_cover_letter - Added
boss_ai_fit - Added
boss_ai_interview_prep - Added
boss_ai_optimize - Added
boss_ai_reply - Added
boss_ai_resume_optimize - Added
boss_ai_suggest - Added
boss_ai_suggest_keywords - Added
boss_apply - Added
boss_batch_greet - Added
boss_chat - Added
boss_chat_summary - Added
boss_chatmsg - Added
boss_cities - Added
boss_clean - Added
boss_config - Added
boss_crawl_results - Added
boss_crawl_shortlist - Added
boss_crawl_status - Added
boss_detail - Added
boss_digest - Added
boss_doctor - Added
boss_exchange - Added
boss_export - Added
boss_favorites_list - Added
boss_follow_up - Added
boss_greet - Added
boss_history - Added
boss_hr_applications - Added
boss_hr_candidates - Added
boss_hr_chat - Added
boss_hr_chatmsg - Added
boss_hr_exchange - Added
boss_hr_jobs - Added
boss_hr_jobs_detail - Added
boss_hr_last_messages - Added
boss_hr_reply - Added
boss_hr_request_resume - Added
boss_hr_resume - Added
boss_interviews - Added
boss_mark - Added
boss_me - Added
boss_pipeline - Added
boss_preset_add - Added
boss_preset_list - Added
boss_preset_remove - Added
boss_recommend - Added
boss_resume_list - Added
boss_resume_show - Added
boss_search - Added
boss_shortlist_add - Added
boss_shortlist_annotate - Added
boss_shortlist_compare - Added
boss_shortlist_list - Added
boss_shortlist_remove - Added
boss_show - Added
boss_stats - Added
boss_status - Added
boss_watch_add - Added
boss_watch_list - Added
boss_watch_remove - Added
boss_watch_run - Added
boss_wizard
50 tool updates
v1.18.0- Removed
boss_agent_pending - Removed
boss_agent_review - Removed
boss_agent_review_approve - Removed
boss_agent_review_reject - Removed
boss_agent_run - Removed
boss_agent_stats - Removed
boss_agent_stop - Removed
boss_agent_train - Removed
boss_ai_analyze_jd - Removed
boss_ai_chat_coach - Removed
boss_ai_cover_letter - Removed
boss_ai_fit - Removed
boss_ai_interview_prep - Removed
boss_ai_optimize - Removed
boss_ai_reply - Removed
boss_ai_resume_optimize - Removed
boss_ai_suggest - Removed
boss_ai_suggest_keywords - Removed
boss_cities - Removed
boss_clean - Removed
boss_config - Removed
boss_crawl_results - Removed
boss_crawl_shortlist - Removed
boss_crawl_status - Removed
boss_detail - Removed
boss_doctor - Removed
boss_export - Removed
boss_favorites_list - Removed
boss_history - Removed
boss_hr_jobs - Removed
boss_hr_jobs_detail - Removed
boss_interviews - Removed
boss_me - Removed
boss_preset_add - Removed
boss_preset_list - Removed
boss_preset_remove - Removed
boss_resume_list - Removed
boss_resume_show - Removed
boss_search - Removed
boss_shortlist_add - Removed
boss_shortlist_annotate - Removed
boss_shortlist_compare - Removed
boss_shortlist_list - Removed
boss_shortlist_remove - Removed
boss_show - Removed
boss_stats - Removed
boss_status - Removed
boss_watch_add - Removed
boss_watch_list - Removed
boss_watch_remove
43 tool updates
v1.17.0- Added
boss_agent_pending - Added
boss_agent_review - Added
boss_agent_review_reject - Added
boss_agent_run - Added
boss_agent_stats - Added
boss_agent_stop - Added
boss_agent_train - Added
boss_ai_analyze_jd - Added
boss_ai_chat_coach - Added
boss_ai_cover_letter - Added
boss_ai_fit - Added
boss_ai_interview_prep - Added
boss_ai_optimize - Added
boss_ai_reply - Added
boss_ai_resume_optimize - Added
boss_ai_suggest - Added
boss_ai_suggest_keywords - Added
boss_clean - Added
boss_config - Added
boss_crawl_results - Added
boss_crawl_shortlist - Added
boss_crawl_status - Added
boss_detail - Added
boss_doctor - Added
boss_export - Added
boss_favorites_list - Added
boss_hr_jobs - Added
boss_preset_add - Added
boss_preset_list - Added
boss_preset_remove - Added
boss_resume_list - Added
boss_resume_show - Added
boss_search - Added
boss_shortlist_add - Added
boss_shortlist_annotate - Added
boss_shortlist_list - Added
boss_shortlist_remove - Added
boss_show - Added
boss_stats - Added
boss_status - Added
boss_watch_add - Added
boss_watch_list - Added
boss_watch_remove
39 tool updates
v1.16.0- Removed
boss_agent_pending - Removed
boss_agent_review - Removed
boss_agent_review_reject - Removed
boss_agent_run - Removed
boss_agent_stats - Removed
boss_agent_stop - Removed
boss_agent_train - Removed
boss_ai_analyze_jd - Removed
boss_ai_chat_coach - Removed
boss_ai_cover_letter - Removed
boss_ai_fit - Removed
boss_ai_interview_prep - Removed
boss_ai_optimize - Removed
boss_ai_reply - Removed
boss_ai_resume_optimize - Removed
boss_ai_suggest - Removed
boss_ai_suggest_keywords - Removed
boss_clean - Removed
boss_config - Removed
boss_detail - Removed
boss_doctor - Removed
boss_export - Removed
boss_hr_jobs - Removed
boss_preset_add - Removed
boss_preset_list - Removed
boss_preset_remove - Removed
boss_resume_list - Removed
boss_resume_show - Removed
boss_search - Removed
boss_shortlist_add - Removed
boss_shortlist_annotate - Removed
boss_shortlist_list - Removed
boss_shortlist_remove - Removed
boss_show - Removed
boss_stats - Removed
boss_status - Removed
boss_watch_add - Removed
boss_watch_list - Removed
boss_watch_remove
1 tool update
v1.15.0- Added
boss_ai_cover_letter
15 tool updates
v1.14.0- Added
boss_agent_pending - Added
boss_agent_review - Added
boss_agent_review_approve - Added
boss_agent_review_reject - Added
boss_agent_run - Added
boss_agent_stats - Added
boss_agent_stop - Added
boss_agent_train - Added
boss_ai_fit - Added
boss_ai_resume_optimize - Added
boss_ai_suggest_keywords - Changed
boss_search1 field changed- added
Input schema / properties / sortAdded value: +{ + "default": "relevance", + "description": "排序方式", + "enum": [ + "relevance", + "score" + ], + "type": "string" +}
- Changed
boss_shortlist_add2 fields changed- added
Input schema / properties / noteAdded value: +{ + "description": "本地备注", + "type": "string" +} - added
Input schema / properties / tagsAdded value: +{ + "description": "本地标签,逗号分隔", + "type": "string" +}
- Added
boss_shortlist_annotate - Added
boss_shortlist_compare
21 tool updates
v1.12.0- Removed
boss_apply - Removed
boss_batch_greet - Removed
boss_chat - Removed
boss_chat_summary - Removed
boss_chatmsg - Removed
boss_digest - Removed
boss_exchange - Added
boss_export - Removed
boss_follow_up - Removed
boss_greet - Removed
boss_hr_applications - Removed
boss_hr_candidates - Removed
boss_hr_chat - Added
boss_hr_jobs_detail - Removed
boss_hr_reply - Removed
boss_hr_request_resume - Removed
boss_hr_resume - Removed
boss_mark - Removed
boss_pipeline - Removed
boss_recommend - Removed
boss_watch_run
49 tool updates
v1.11.0- First observed
boss_ai_analyze_jd - First observed
boss_ai_chat_coach - First observed
boss_ai_interview_prep - First observed
boss_ai_optimize - First observed
boss_ai_reply - First observed
boss_ai_suggest - First observed
boss_apply - First observed
boss_batch_greet - First observed
boss_chat - First observed
boss_chat_summary - First observed
boss_chatmsg - First observed
boss_cities - First observed
boss_clean - First observed
boss_config - First observed
boss_detail - First observed
boss_digest - First observed
boss_doctor - First observed
boss_exchange - First observed
boss_follow_up - First observed
boss_greet - First observed
boss_history - First observed
boss_hr_applications - First observed
boss_hr_candidates - First observed
boss_hr_chat - First observed
boss_hr_jobs - First observed
boss_hr_reply - First observed
boss_hr_request_resume - First observed
boss_hr_resume - First observed
boss_interviews - First observed
boss_mark - First observed
boss_me - First observed
boss_pipeline - First observed
boss_preset_add - First observed
boss_preset_list - First observed
boss_preset_remove - First observed
boss_recommend - First observed
boss_resume_list - First observed
boss_resume_show - First observed
boss_search - First observed
boss_shortlist_add - First observed
boss_shortlist_list - First observed
boss_shortlist_remove - First observed
boss_show - First observed
boss_stats - First observed
boss_status - First observed
boss_watch_add - First observed
boss_watch_list - First observed
boss_watch_remove - First observed
boss_watch_run
TDQS
Scored across 78 tools
Multiple tool pairs are near-duplicates with unclear boundaries: boss_ai_optimize vs boss_ai_resume_optimize vs boss_ai_suggest (all resume improvement suggestions), boss_ai_analyze_jd vs boss_ai_fit (both matching analysis), boss_show vs boss_detail (both job detail), boss_hr_chat vs boss_chat, boss_hr_chatmsg vs boss_chatmsg. The five boss_agent_* "compatibility" tools coexist with boss_agent_run/train/date, so agents must guess which generation of the queue/pending/review API to use. Role prefixes (hr_ vs none) help somewhat, but description alone cannot reliably disambiguate many actions.
Names are uniformly snake_case and follow a boss_<domain>_<verb/object> namespace (hr_, ai_, agent_, crawl_, watch_, preset_, shortlist_), which is largely predictable. However, conventions drift within that namespace: some tools are verb-first (boss_search, boss_greet), some are noun-first (boss_chatmsg, boss_hr_candidates), compound words appear fused (chatmsg vs chat_summary, ai_reply vs ai_chat_coach), and duplicate concepts get different stems (optimize vs resume_optimize).
78 tools for a single job-board client is far beyond what an agent can navigate reliably; many are deprecated compatibility shims (boss_agent_pending, boss_agent_review, boss_agent_review_approve/reject) or thin variants of shorthands. The core workflows (search, detail, greet, chat, shortlist, apply) would fit in ~25 tools; the rest is layering and legacy bloat.
Coverage is broad and lifecycle-aware on both sides: candidate search/recommend/detail/greet/apply/chat/interview plus local shortlist, presets, watch, crawl, export, digest and stats, and recruiter-side jobs/candidates/greet/resume exchange/download/reply. Gaps are minor: no tool to edit or delete a stored resume, and the AI optimization tools only emit drafts rather than writing back, but core workflows have no dead ends.
Maintenance
Related MCP Connectors
Liepin job search and resume workflows backed by the official Liepin MCP server.
LinkedIn outreach MCP server — 19 tools for AI agents to prospect, sequence, and manage contacts.
Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceAutomates job searching and initial communication on the Boss Zhipin platform by parsing resumes and matching them with relevant job listings. It includes anti-bot detection features and supports automated messaging to HR representatives through various MCP clients.10-
- AlicenseNot gradedqualityBmaintenanceMCP server for searching BOSS直聘 (Boss Zhipin) job listings. It provides a boss_search tool that supports multi-city queries, keyword filtering, and JSON output for AI agents.14MIT
- AlicenseNot gradedqualityBmaintenanceProvides MCP tools for job discovery, welfare filtering, resume and AI-assisted applications, and recruiter workflows across Chinese job platforms such as BOSS Zhipin, Zhilian, and 51job.MIT
- FlicenseNot gradedqualityAmaintenanceEnables AI assistants to drive a logged-in BOSS Zhipin recruiter account through the Model Context Protocol, running multi-keyword candidate searches, capturing Canvas-rendered resume screenshots, extracting permanent share links, auto-filtering and scoring candidates, sending greetings, and exporting Markdown reports. Results persist in a local database so interrupted pipelines can resume without losing data.-