Skip to main content
Glama

Yardstick ATS

Server Details

Manage hiring in Yardstick's ATS: jobs, candidates, applications, interviews, and scorecards.

Ownership verified
Status
Healthy
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
yardstickinc/yardstick-mcp
GitHub Stars
0
Server Listing
Yardstick ATS MCP Server

TDQS

B3/5.0

Scored across 185 tools

Disambiguation5/5

Each tool follows a distinct resource+subresource+action pattern, and even similar operations (e.g., preview vs bind vs direct, clear vs delete) have explicit, non-overlapping descriptions. Agents can reliably distinguish between tools.

Naming Consistency5/5

All 185 tools use a consistent yardstick_<resource>_<subresource>_<action> snake_case convention with the action verb at the end. No mixed casing or stylistic deviations; compound actions like generate_questions_directions remain readable.

Tool Count1/5

185 tools is far beyond the typical well-scoped range and will overwhelm agents. Even though the ATS domain is broad, many fine-grained variants (e.g., four clear_* and four delete_* draft tools) could be consolidated into fewer operations.

Completeness4/5

The tool set covers the full ATS lifecycle: jobs, postings, applications, people, pipelines, interview plans and sessions, email, prospects, talent pools, and admin functions. Preview/bind approval patterns and archive/restore operations handle most state changes, with only minor gaps like missing direct deletes.

Available Tools

185 tools
yardstick_access_grants_createGrant someone access to a record (confirm in Yardstick)CInspect

Create a reasoned, revocable, audited access grant.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeYes
reasonYes
revocableNo
target_idYes
expires_atNo
request_idNo
effective_atNo
idempotency_keyNo
artifact_classesYes
subject_person_idYes

TDQS

C2.4/5.0
Behavior2/5

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

The description adds some traits beyond annotations, such as 'revocable' and 'audited,' but it does not explain operational behavior like whether the grant takes effect immediately, whether confirmation in Yardstick is required, or what permissions are needed. The title's parenthetical 'confirm in Yardstick' hints at an important confirmation step that the description fails to address.

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

Conciseness4/5

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

The description is a single tight sentence that front-loads the action and avoids filler. It is concise, though its brevity comes at the cost of operational detail.

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

Completeness1/5

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

This is a complex create operation with 10 parameters, no output schema, and zero schema description coverage. A single abstract sentence does not give an agent enough context to choose required subjects, scopes, target IDs, artifact classes, or timing fields, let alone understand the confirmation behavior hinted at in the title.

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

Parameters1/5

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

Schema description coverage is 0%, and the description names none of the 10 parameters. 'Reasoned' and 'revocable' only vaguely hint at `reason` and `revocable`, leaving the meaning of `subject_person_id`, `scope`, `target_id`, `artifact_classes`, `expires_at`, and others completely unexplained.

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

Purpose4/5

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

The description clearly states an active verb ('Create') and a concrete resource ('access grant'), and the title reinforces this as granting someone access to a record. It is distinguishable from the sibling list/read/revoke tools by action type, though it does not explicitly call out that distinction.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, no mention of checking existing grants via list/read, and no note about using revoke for removal. For an access-control mutation, failing to mention prerequisites or alternatives leaves the agent to infer usage from the name alone.

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

yardstick_access_grants_listList access grantsA
Read-onlyIdempotent
Inspect

List explicit access grants visible to the current principal.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
request_idNo
starting_afterNo

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the useful scoping detail that only grants visible to the current principal are returned, but it does not mention pagination behavior or response shape, which would add value beyond annotations.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. Every word contributes meaning, and the most important scoping information appears immediately.

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

Completeness3/5

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

For a read-only list tool with no output schema, the description gives the essential purpose and scope. However, with three pagination-related parameters and no explanation of how results are returned, the definition leaves an agent without enough information to confidently paginate or interpret the response.

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

Parameters2/5

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

Schema description coverage is 0%, so the description needed to compensate for the three parameters (limit, request_id, starting_after). It does not mention that limit/starting_after are pagination controls or what request_id is for. The parameter names are suggestive but not documented, leaving agents to guess.

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

Purpose5/5

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

The description states a specific verb ('List'), a specific resource ('access grants'), and important scope qualifiers ('explicit', 'visible to the current principal'). This clearly distinguishes the list operation from the sibling read (single grant), create, and revoke tools.

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

Usage Guidelines4/5

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

The description implies the tool is for enumerating the current principal's explicit grants, which provides clear context. However, it does not explicitly state when not to use it or name alternatives, though the sibling set makes the distinction fairly obvious.

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

yardstick_access_grants_readRead an access grantB
Read-onlyIdempotent
Inspect

Read one explicit access grant by public id.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
access_grant_idYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the behavioral nuance that the access grant ID is a 'public id,' but it does not clarify response format, error conditions, or any side effects. No contradiction with annotations exists.

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

Conciseness5/5

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

The description is a single, tight sentence that leads with the verb and resource. Every word contributes value, and there is no fluff or repetition. For a simple read operation, this level of brevity is appropriate.

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

Completeness2/5

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

There is no output schema, so the description should describe what the tool returns to be complete. It does not mention the response shape, whether the grant is returned in full or partial, or any error handling. An agent cannot fully anticipate the tool's outcome, making the definition incomplete for a read operation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the burden of parameter explanation. It clarifies that access_grant_id is a public ID, but it says nothing about request_id, leaving its purpose ambiguous. The description only partially compensates for the complete lack of schema-level parameter documentation.

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

Purpose5/5

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

The description immediately states the verb 'Read' and the resource 'explicit access grant' with the qualifier 'by public id,' which clearly specifies the operation. It is easily distinguished from siblings like yardstick_access_grants_list or yardstick_access_grants_create, which have different purposes.

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

Usage Guidelines2/5

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

The description gives no explicit guidance on when to use this tool versus alternatives. It does not mention that list should be used to find grants by other criteria, or create/revoke for mutations. The implied use case is a single lookup, but there is no explicit when-to-use or exclusion information.

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

yardstick_access_grants_revokeRevoke an access grant (confirm in Yardstick)B
Destructive
Inspect

Revoke an explicit access grant with optional reason text.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
request_idNo
access_grant_idYes
idempotency_keyNo

TDQS

B3.2/5.0
Behavior2/5

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

Annotations already mark destructiveHint=true and readOnlyHint=false, indicating a mutation. However, the description does not disclose that this likely requires confirmation (as the title hints) or that the action is irreversible. The mention of 'confirm in Yardstick' in the title is undercut by the description's omission of any confirmation behavior or irreversible consequences. The description adds little beyond the annotations.

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

Conciseness4/5

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

The description is a single short sentence, which is efficient, but it fails to include critical information like the confirmation flow. The title duplicates information about confirmation, but the description itself is optimally concise for what it covers.

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

Completeness2/5

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

Given the tool is a destructive mutation with no output schema and no parameter descriptions, the description is too sparse. It does not mention what happens to the grant, whether bind/preview pattern is needed (siblings have bind/preview patterns for destructive actions), or how to handle the optional parameters. The title hints at a confirmation step that the description omits.

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

Parameters2/5

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

Schema coverage is 0% (no descriptions in the schema), and the description only mentions 'optional reason text' but does not explain the purpose of 'request_id' or 'idempotency_key'. With 4 parameters and required 'access_grant_id', the description leaves the agent to guess the semantics of the optional parameters, especially 'idempotency_key', which implies retry behavior not mentioned.

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

Purpose5/5

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

The description states a clear verb ('Revoke') and direct object ('access grant'), and the title adds context about confirmation in Yardstick. It is distinct from siblings like 'yardstick_access_grants_create' and 'yardstick_access_grants_list'. The term 'explicit' avoids ambiguity with system grants, which is helpful.

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

Usage Guidelines3/5

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

The description implies this is used to revoke an access grant, but does not explicitly state when to use it versus alternatives (e.g., when you need to disable a grant vs. delete it). It does not provide conditions or exclusions, leaving some inference up to the agent.

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

yardstick_application_interview_sessions_ensureMake sure an interview exists for a roundC
Idempotent
Inspect

Ensure an application interview session for an explicit round id.

ParametersJSON Schema
NameRequiredDescriptionDefault
round_idYes
request_idNo
round_titleNo
application_idYes
idempotency_keyNo
interview_plan_idNo

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already flag idempotentHint=true, readOnlyHint=false, destructiveHint=false; the description is consistent and adds the end-state idea that a session will exist for the round. It does not state what happens when one already exists, whether it creates or reuses, what it returns, or any permission/rate-limit context, so credit is limited.

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

Conciseness4/5

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

The description is a single dense sentence with no filler and the key id (round) is front-loaded. It is concise to the point of under-specification, but as far as structure and length it earns its place.

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

Completeness2/5

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

With no output schema, 0% parameter coverage, and no behavioral detail, this is too thin for reliable invocation. An agent cannot predict the return value, the effect on an existing session, or the role of the optional parameters, and there is no pointer to sibling tools.

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

Parameters1/5

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

Schema descriptions cover 0% of six parameters, and the description only references round_id (and application_id by tool-name inference). Optional params like round_title, request_id, idempotency_key, and interview_plan_id get no explanation, so an agent cannot tell what values to supply.

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

Purpose4/5

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

The title and description name a specific resource ('application interview session') and scope it to an explicit round id, with 'Ensure'/'Make sure an interview exists' conveying an idempotent create-if-missing intent. This is enough to distinguish it from list/read/cancel/start session tools, though 'Ensure' alone is slightly vague.

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

Usage Guidelines2/5

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

No sentence tells an agent when to choose this over yardstick_application_interview_sessions_list or the interview_sessions_* lifecycle tools, and no exclusions or alternatives are named. The only implicit signal is the word 'Ensure', which is too weak to route reliably.

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

yardstick_application_interview_sessions_listList interviews for an applicationB
Read-onlyIdempotent
Inspect

List interview sessions for an application.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
application_idYes

TDQS

B3.2/5.0
Behavior2/5

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

Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds no behavioral detail beyond the basic list operation, such as whether cancelled sessions are included, ordering, pagination, or output shape.

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

Conciseness5/5

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

The description is a single sentence with no filler, wasted words, or redundant restatement. It front-loads the action and scope efficiently.

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

Completeness3/5

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

The tool is simple, with one required parameter and annotations covering its safe read-only nature. However, with no output schema, the description could have added useful context about what the returned list contains or whether pagination is involved. It is minimally viable but not complete.

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

Parameters2/5

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

Schema description coverage is 0%, so the description needed to explain parameter semantics, but it only says 'for an application.' This weakly maps to application_id but says nothing about the optional request_id or the expected format or behavior of the parameters.

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

Purpose5/5

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

The description names a specific verb ('List'), a concrete resource ('interview sessions'), and a clear scope ('for an application'). This is enough to distinguish it from sibling session tools like interview_sessions_read or application_interview_sessions_ensure.

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

Usage Guidelines2/5

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

The description gives no guidance about when to choose this tool over related alternatives, such as reading a single interview session or ensuring sessions exist. There is no stated context, exclusion, or alternative routing.

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

yardstick_applications_archive_bindConfirm and archive an applicationB
DestructiveIdempotent
Inspect

Bind an already-previewed application archive with explicit approval metadata and matching idempotency key.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
bindingYes
request_idNo
application_idYes
idempotency_keyNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the description doesn't need to restate those. The description adds context about requiring 'explicit approval metadata' and 'matching idempotency key', which clarifies the safety contract. However, it doesn't disclose what gets archived, whether the application becomes inaccessible, or any side effects beyond archiving.

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

Conciseness4/5

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

The description is a single sentence with no filler, and the key constraint ('already-previewed') is front-loaded. It earns its place by conveying the essential precondition and the approval requirement.

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

Completeness2/5

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

This is a destructive, idempotent bind operation with a nested binding object and 0% schema coverage, yet the description doesn't explain the preview-bind workflow, what the binding fields mean, or what happens after archiving. An agent would struggle to construct a valid 'binding' object without additional context.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it only mentions 'approval metadata' and 'idempotency key' generically. It doesn't explain the nested 'binding' object's fields (preview_hash, approved_action_key, approved_input_hash, approved_idempotency_key, resource_version_precondition) or how they relate to a prior preview. The 'reason' and 'request_id' parameters are entirely unexplained.

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

Purpose4/5

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

The description states a specific verb ('Bind') and resource ('already-previewed application archive') with explicit approval metadata and idempotency key. It distinguishes from preview tools by emphasizing 'already-previewed' and 'explicit approval metadata', though it doesn't name sibling alternatives directly.

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

Usage Guidelines4/5

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

The description implies this is the confirmation step after a preview, and the 'already-previewed' phrasing signals it should not be used before previewing. It doesn't explicitly name alternatives like yardstick_applications_archive_preview or transition_bind, but the context is clear enough for an agent to infer the preview-then-bind workflow.

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

yardstick_applications_archive_previewPreview archiving an application (nothing changed yet)B
Idempotent
Inspect

Preview application archive approval requirements only; bind fields are rejected.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
request_idNo
application_idYes
idempotency_keyNo

TDQS

B3/5.0
Behavior1/5

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

The title and description explicitly claim no state change ('nothing changed yet,' 'Preview ... only'), but the annotations set readOnlyHint=false. This is an annotation contradiction. The description does add useful context about rejecting bind fields, but the conflicting readOnlyHint undermines the behavioral signal.

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

Conciseness4/5

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

The description is short and front-loaded, with the core purpose in the first clause. The second clause is terse but relevant. It wastes no words, though 'bind fields are rejected' could be clearer.

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

Completeness2/5

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

For a tool with no output schema and four undocumented parameters, the description is too thin. It does not describe what the approval requirements look like, how the response is structured, what makes a request valid, or how to act on the preview results. The non-mutating nature is clear, but substantial operational context is missing.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain application_id, reason, request_id, or idempotency_key. The only parameter-related statement, 'bind fields are rejected,' is ambiguous about which fields those are and does not compensate for the complete lack of parameter documentation.

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

Purpose5/5

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

The description states a specific action ('Preview') on a specific resource ('application archive approval requirements') and limits scope with 'only.' The title reinforces the non-mutating nature with 'nothing changed yet,' and the warning that 'bind fields are rejected' helps distinguish this from the archive_bind sibling.

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

Usage Guidelines4/5

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

The phrase 'Preview ... only' and 'bind fields are rejected' clearly tells an agent this is not the tool for actually performing the archive bind. However, it does not explicitly name the alternative or say 'use this before yardstick_applications_archive_bind,' so the when-to-use guidance is mostly implied rather than fully explicit.

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

yardstick_applications_createAdd an applicationAInspect

Create a recruiter or agent-sourced application for an existing person and job posting.

ParametersJSON Schema
NameRequiredDescriptionDefault
person_idYes
request_idNo
job_posting_idYes
idempotency_keyNo

TDQS

A3.8/5.0
Behavior3/5

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

With annotations already indicating a non-read-only, non-destructive mutation and no idempotency, the description adds the prerequisite that the person and job posting must already exist. It stops short of explaining side effects, idempotency_key behavior, or what happens on duplicate creation, but the annotation baseline lowers the burden.

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

Conciseness5/5

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

A single sentence that front-loads the action and packs the key qualifiers (source type and existence requirement) without filler. Every phrase contributes to selection and invocation.

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

Completeness3/5

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

For a flat four-parameter create operation, the description is minimally sufficient: it names the core entities and the required preconditions while annotations cover the mutation safety profile. The optional request_id/idempotency_key semantics and any post-create behavior remain unaddressed, leaving a clear but not fatal gap.

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

Parameters2/5

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

Schema description coverage is 0%, so the description has to compensate for parameter meaning. It semantically covers person_id and job_posting_id via 'existing person and job posting,' but it says nothing about request_id or idempotency_key, leaving two of four parameters effectively unexplained.

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

Purpose5/5

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

The description uses a specific verb ('Create') and resource ('application'), and narrows the action with 'recruiter or agent-sourced' and 'for an existing person and job posting.' This distinguishes it from sibling operations like update, transition, and archive without needing to introspect their schemas.

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

Usage Guidelines4/5

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

The phrase 'for an existing person and job posting' gives a clear prerequisite and context for when to call this tool, and the create stance implies it is for adding rather than updating/transitioning. It does not, however, name alternatives or explicitly state when not to use it.

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

yardstick_applications_email_decision_applyApply a status change and its candidate emailC
DestructiveIdempotent
Inspect

Apply an application status-change email decision with idempotency metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
application_idYes
idempotency_keyNo

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the description doesn't need to repeat those. The description adds 'with idempotency metadata', which aligns with the idempotentHint and hints at the idempotency_key parameter. However, it doesn't disclose side effects (e.g., that it changes the application status and may send an email) or any prerequisites. The title partially covers this ('Apply a status change and its candidate email'), but the description itself adds minimal behavioral context beyond what annotations provide.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the primary action ('Apply') and the object ('an application status-change email decision'). It is not verbose and contains no filler. Despite being under-specified, this dimension only measures conciseness and structure, and the description is exemplary in that regard.

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

Completeness1/5

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

For a destructive operation with three parameters, no output schema, and zero schema descriptions, this description is severely incomplete. It does not explain what an 'email decision' is, how to obtain one, what happens when applied (e.g., status change and email sending), or the role of idempotency_key. An agent cannot safely invoke this tool without additional information, making it inadequate for its context.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must explain parameter meanings. It only mentions 'idempotency metadata' without specifying which parameter is the idempotency key. It does not explain request_id, application_id, or idempotency_key semantics, nor does it indicate that application_id is required. The description fails to compensate for the lack of schema descriptions, leaving an agent guessing about parameter usage.

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

Purpose4/5

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

The description states a clear action ('Apply') on a specific resource ('an application status-change email decision') and mentions idempotency metadata. It distinguishes from preview tools (e.g., email_decision_preview) by indicating this is the apply step, and from transition_direct by referencing an 'email decision' rather than a raw transition. However, it doesn't explicitly clarify what constitutes an 'email decision' or how it differs from the related status_email_poc_bind, leaving some ambiguity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It doesn't mention that a decision should first be previewed (e.g., via email_decision_preview) before applying, nor does it state that this tool is the final step after previewing. There are no exclusions or conditions. An agent would not know if this is the right tool without further context.

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

yardstick_applications_email_decision_previewPreview the candidate email for a status change (nothing sent)A
Idempotent
Inspect

Preview the candidate email decision for an application status change without mutating the application or drafts.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
application_idYes
idempotency_keyNo

TDQS

A3.6/5.0
Behavior4/5

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

The description explicitly guarantees no mutation of the application or drafts, which is valuable because the annotation readOnlyHint is false)Skip this valuable context is not carried by annotations. It also reinforces the idempotent and non-destructive nature already hinted at by idempotentHint and destructiveHint. No contradictions with annotations.

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

Conciseness4/5

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

The description is a single sentence, concise and front-loaded with the action 'Preview'. It avoids redundancy and effectively clarifies the non-mutating behavior. It could be slightly more structured, but there is no unnecessary content.

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

Completeness2/5

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

Given there is no output schema, the description should explain what the preview returns (e.g., email subject, body, recipient) but does not. It also leaves parameter semantics unexplained. While the tool is simple and the required application_id is implied, an agent cannot know the exact request construction or response format, making the description insufficient for correct invocation without additional context.

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

Parameters1/5

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

The description provides zero information about the parameters. Schema description coverage is 0%, so the description must compensate, but it mentions neither application_id nor the optional request_id and idempotency_key. The only hint is the word 'application' in the tool name, which is not enough to clarify parameter semantics. There is no added meaning beyond the schema's structural definitions.

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

Purpose5/5

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

The description clearly states the tool previews the candidate email for an application status change alerting the agent to the fact that nothing is sent. It explicitly says it does not mutate the application or drafts, which distinguishes it from the sibling 'yardstick_applications_email_decision_apply' and related transition tools. The verb 'Preview' and the resource (candidate email for application status change) are specific and unambiguous.

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

Usage Guidelines4/5

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

The phrase 'without mutating the application or drafts' implicitly conveys that this is for previewing before applying a change rather than executing it. However, it does not explicitly name alternatives like yardstick_applications_email_decision_apply or yardstick_applications_transition_preview, nor does it state when to use this tool versus those siblings. The context is clear enough for a knowledgeable agent but lacks explicit routing.

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

yardstick_applications_listList applicationsC
Read-onlyIdempotent
Inspect

List application person + Job attachments visible to the current principal.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
request_idNo
starting_afterNo

TDQS

C2.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds the scoping constraint 'visible to the current principal,' which is useful context beyond annotations. However, it omits other behavioral details like pagination behavior, ordering, or default limits, so it only partially supplements the annotations.

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

Conciseness4/5

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

The description is a single concise sentence with no extraneous words. It is appropriately short, though it sacrifices necessary detail for brevity. The structure is simple and readable, earning a high score on conciseness despite the lack of depth.

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

Completeness2/5

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

For a list operation with three pagination parameters and no output schema, the description is severely incomplete. It does not describe what is returned, how pagination works, or any default behavior. An agent would lack essential information to invoke the tool correctly, especially given the ambiguous resource description.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain any of the three parameters (limit, request_id, starting_after). Since the schema itself provides no descriptions, the description carries the full burden but fails to clarify parameter meanings, making it nearly impossible to use correctly.

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

Purpose3/5

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

The description states a clear verb ('List') and a resource ('application person + Job attachments'), but the resource is ambiguous and poorly worded. It does not distinguish this tool from other list operations in the sibling set, such as yardstick_opportunities_list or yardstick_people_list, and the phrase 'application person + Job attachments' is confusing.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of conditions, exclusions, or comparison to related tools like yardstick_applications_read or other list tools. An agent would have no help deciding which list tool fits a given need.

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

yardstick_applications_readRead an applicationC
Read-onlyIdempotent
Inspect

Read one application person + Job attachment by public id.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
application_idYes

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that it reads by 'public id' and includes 'person + Job attachment', offering some content context but not detailing behavior on missing IDs or data format. This is modest added value beyond annotations.

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

Conciseness3/5

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

One sentence with no filler, but the compressed phrase 'person + Job attachment' sacrifices clarity. It is concise but somewhat ambiguous, so it doesn't fully earn its place as clear guidance.

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

Completeness2/5

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

With two parameters, no output schema, and no nested objects, the description should still explain the unusual 'person + Job attachment' term and the optional request_id. It does neither, leaving agents uncertain about the exact call shape and return semantics.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for parameter meanings. It implicitly maps 'public id' to application_id, but request_id is completely unmentioned. This is partial compensation at best and leaves a required-parameter gap for agents.

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

Purpose4/5

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

The description clearly states a read operation on an 'application' by public id. The phrase 'person + Job attachment' is ambiguous but still points to a specific resource type. The singular 'one' and 'by public id' help distinguish it from list operations, though it doesn't explicitly name siblings.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool instead of alternatives like yardstick_applications_list or other read tools. It doesn't describe ideal use cases, prerequisites, or exclusions, leaving the selection decision to inference.

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

yardstick_applications_status_email_poc_bindConfirm the Offer status change and send its candidate emailC
DestructiveIdempotent
Inspect

Bind the fixed applications-owned status/email approval POC with explicit approval metadata and a matching idempotency key.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo
bindingYes
decisionYes
email_typeYes
request_idNo
target_statusYes
application_idYes
current_statusYes
idempotency_keyNo
personalization_instructionNo
requested_sender_identity_idNo

TDQS

C2.6/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the description does not need to restate those. It does add useful operational context by saying the call requires 'explicit approval metadata and a matching idempotency key,' which clarifies that this is an approved, replay-safe bind. However, it does not disclose the concrete consequences—status mutation and an outgoing candidate email—beyond what the title and annotations imply.

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

Conciseness3/5

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

The description is a single sentence with no filler, so it is concise. However, the phrase 'fixed applications-owned status/email approval POC' is dense and confusing, and the sentence does not lead with an approachable outcome. Brevity comes at the expense of clarity.

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

Completeness2/5

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

This is a destructive 11-parameter bind operation with a nested binding object, no output schema, and no parameter descriptions, yet the description omits the key workflow prerequisite: running a preview first to obtain the approval metadata. It also gives no hint about where binding values come from or what a successful call returns. The schema constants constrain some inputs, but the overall workflow context is still missing.

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

Parameters2/5

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

Schema description coverage is 0%, so the description had to compensate by explaining the parameters. It adds a little meaning by grouping the nested binding fields as 'explicit approval metadata' and by saying the idempotency key must match. But it leaves preview_hash, approved_action_key, approved_input_hash, and resource_version_precondition completely unexplained, so an agent still cannot determine what values to supply or where they come from.

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

Purpose3/5

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

The description uses a specific verb ('bind') and names a specific resource ('applications-owned status/email approval POC'), so it is not a tautology. However, the wording is jargon-heavy and fails to state the real-world effect that the title conveys: confirming the Offer status change and sending the candidate email. An agent would need to infer the apply-after-preview workflow from sibling-naming conventions rather than from the description itself.

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

Usage Guidelines2/5

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

The description gives no guidance about when to call this tool versus the many sibling bind/preview/transition tools. It does not mention that a preview should precede this bind, nor does it say not to use yardstick_applications_transition_bind for this workflow. Without that context, an agent cannot reliably choose this tool.

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

yardstick_applications_status_email_poc_previewPreview the Offer status change and its candidate email (nothing changed yet)C
Idempotent
Inspect

Preview the fixed applications-owned Interviewing to Offer status/email approval POC without mutating status or email state.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo
decisionYes
email_typeYes
request_idNo
target_statusYes
application_idYes
current_statusYes
idempotency_keyNo
personalization_instructionNo
requested_sender_identity_idNo

TDQS

C2.4/5.0
Behavior1/5

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

The description claims the tool mutates nothing ('without mutating status or email state'), but the annotations set readOnlyHint=false, which indicates the tool is not read-only. This is a direct contradiction, and per the rubric behavioral transparency must be scored 1 with an annotation contradiction flag.

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

Conciseness5/5

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

The description is a single sentence that front-loads the core purpose and the safety guarantee. There is no filler or repetition beyond the title, and every phrase adds relevant context.

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

Completeness1/5

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

This is a complex 10-parameter tool with no output schema and no parameter descriptions, yet the description only states that it is a non-mutating preview. It does not explain the expected preview output, how the parameters shape the preview, or what follow-up tool should be used to actually apply the change.

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

Parameters1/5

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

Schema description coverage is 0%, and the description provides almost no parameter-level semantics beyond naming the statuses 'Interviewing' and 'Offer' and the concept of email. With 10 parameters and 5 required ones, the description fails to compensate for the absent schema documentation.

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

Purpose4/5

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

The description clearly states a specific action—'Preview'—and a specific resource: the applications-owned Interviewing-to-Offer status/email approval POC. It distinguishes from mutating sibling tools by saying it operates 'without mutating status or email state,' though it does not name a specific alternative.

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

Usage Guidelines2/5

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

The description implies a preview-before-apply workflow but gives no explicit when-to-use guidance, prerequisites, or mention of the sibling apply/bind tools as alternatives. An agent must infer that this is the safe preview counterpart to a mutating operation.

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

yardstick_applications_transition_bindConfirm and apply an application status changeA
DestructiveIdempotent
Inspect

Bind an already-previewed application transition with explicit approval metadata and matching idempotency key.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
statusYes
bindingYes
request_idNo
application_idYes
idempotency_keyNo
employment_start_dateNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructive and idempotent behavior)Skip. The description adds that the action requires 'explicit approval metadata' and a 'matching idempotency key', which are meaningful behavioral guardrails beyond the annotations. It also clarifies this is the bind step, not a fresh transition.

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

Conciseness5/5

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

A single sentence, front-loaded with the verb and resource, and it immediately conveys the key precondition ('already-previewed') and the two essential concepts (approval metadata, idempotency key). No wasted words.

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

Completeness2/5

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

The tool is complex (nested binding object, 5 required fields, no output schema, no parameter descriptions). The description does not explain how to obtain the binding values or what the response looks like. An agent cannot reliably call this tool without additional documentation or sibling tool descriptions.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the burden of explaining parameters. It mentions 'approval metadata' and 'idempotency key' but fails to explain the binding object fields (preview_hash, approved_action_key, etc.) or their relationship to a preview. This leaves the agent unable to correctly populate the 7 parameters.

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

Purpose5/5

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

The description clearly states a specific verb ('Bind') and resource ('application transition'), and scopes it to 'already-previewed' transitions. This distinguishes it from preview tools and from the direct transition tool, even without naming siblings.

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

Usage Guidelines3/5

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

The description implies this tool is used after a preview has occurred ('already-previewed'), but it does not explicitly instruct the agent to call the preview tool first, nor does it mention when to use this instead of the direct transition tool. Context is present but exclusions are not stated.

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

yardstick_applications_transition_directMove an application to another statusA
DestructiveIdempotent
Inspect

Directly write a non-terminal application transition; approval-only statuses are rejected. Optionally target a configured stage by id with pipeline_stage_id (the resolved stage is reported back).

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
statusYes
request_idNo
application_idYes
idempotency_keyNo
pipeline_stage_idNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the description adds value beyond them: it discloses that only non-terminal transitions are permitted, that approval-only statuses are rejected outright, and that pipeline_stage_id resolves to a stage which is reported back in the response. No contradiction with annotations; the write behavior aligns with readOnlyHint=false.

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

Conciseness5/5

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

Two sentences with no filler. The core constraint (direct, non-terminal, approval rejected) is front-loaded, and the optional pipeline_stage_id behavior is packed efficiently into the second sentence.

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

Completeness3/5

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

For a 6-parameter mutation tool with no output schema, the description covers the central decision (which transitions are allowed) and the key optional parameter's effect. However, it does not explain what 'non-terminal' means in practical terms, nor the role of idempotency_key/request_id, and it relies on sibling naming for the approval-flow contrast.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the full burden for parameter meaning. It adds context only for pipeline_stage_id (targets a configured stage, resolved stage reported back). The required parameters application_id and status, plus reason, request_id, and idempotency_key, receive no semantic guidance beyond the raw schema.

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

Purpose4/5

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

The description states a specific action ('Directly write') on a specific resource ('non-terminal application transition') and clarifies scope by noting approval-only statuses are rejected. It distinguishes itself from the transition_bind/transition_preview siblings via the word 'Directly' and the approval rejection clause, though it doesn't name the alternatives explicitly.

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

Usage Guidelines3/5

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

The rejection of approval-only statuses implies when NOT to use this tool, and the sibling set (transition_bind, transition_preview) suggests the alternative path, but this is left to inference. No explicit 'use X instead when approval is required' guidance is given.

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

yardstick_applications_transition_previewPreview an application status change (nothing changed yet)B
Idempotent
Inspect

Preview approval-required application transitions only; bind fields and direct-write targets are rejected. Optionally target a configured stage by id with pipeline_stage_id (status must match the stage's mapped status).

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
statusYes
request_idNo
application_idYes
idempotency_keyNo
pipeline_stage_idNo
employment_start_dateNo

TDQS

B3.2/5.0
Behavior1/5

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

The description and title ('Preview', 'nothing changed yet') clearly indicate a non-mutating preview operation, but the annotation readOnlyHint=false suggests the tool may modify state. This is a direct contradiction. Since annotations are meant to guide the agent on side effects, the mismatch is critical and the description provides no clarifying behavioral details (e.g., auth requirements, rate limits, what is computed in the preview).

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

Conciseness4/5

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

The description is two sentences with no redundant words. It front-loads the key constraint (approval-required only) and rejection of bind/direct targets, then adds the optional pipeline_stage_id detail. The structure is efficient, though the second sentence is slightly dense and could benefit from clearer separation.

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

Completeness2/5

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

The tool has 7 parametershol, no output schema, and conflicting annotations. The description covers some scope restrictions but does not explain what the preview returns, the meaning of the other parameters, or any behavioral context (e.g., whether a preview has side effects, side-effects/approval flow, auth needs). It is insufficient for an agent to call this tool confidently beyond the basic restriction checks.

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

Parameters2/5

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

With 0% schema description coverage, the description must compensate for the 7 parameters. It only adds meaning for pipeline_stage_id (mentions targeting a configured stage and status match) and implicitly touches status. The other parameters (reason, request_id, idempotency_key, employment_start_date, application_id) are not explained at all beyond the raw schema types and constraints, leaving the agent to guess their role in a preview context.

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

Purpose5/5

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

The description states a specific verb ('Preview'), a resource ('application transitions'), and a clear scope ('approval-required only'). It explicitly rejects bind fields and direct-write targets, which distinguishes it from the sibling tools 'yardstick_applications_transition_bind' and 'yardstick_applications_transition_direct'. The title reinforces that nothing changes yet, making the tool's role unambiguous.

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

Usage Guidelines4/5

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

The description says the tool is for approval-required transitions only and that bind/direct targets are rejected, which gives a clear when-not-to-use condition. It also specifies when to optionally provide pipeline_stage_id and the status constraint. However, it does not explicitly name the alternative tools (e.g., transition_bind, transition_direct) for cases that need binding or direct writes, leaving some inference to the agent.

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

yardstick_applications_updateUpdate an applicationC
DestructiveIdempotent
Inspect

Update one application with schema-bound public API fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
stageNo
request_idNo
application_idYes
idempotency_keyNo

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=false, idempotentHint=true, and destructiveHint=true, so the safety/mutation profile is established. The description adds a modest behavioral boundary by saying updates are limited to 'schema-bound public API fields', but it does not explain what destructive consequences may occur, how idempotency is implemented, or whether updates are partial or full replacements. It does not contradict the annotations.

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

Conciseness4/5

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

The description is a single sentence with no filler, front-loading the action and target. However, the phrase 'schema-bound public API fields' is jargon-heavy and somewhat opaque, which slightly reduces clarity even though the structure is compact.

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

Completeness2/5

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

With four parameters, no output schema, and no parameter descriptions, this tool needs more context to be safely invoked. The description fails to mention the meaning of idempotency_key, the specific fields that can be updated, prerequisites, or the nature of destructive behavior. Annotations help but do not fill the gap.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not compensate by explaining stage, request_id, application_id, or idempotency_key. Saying 'schema-bound public API fields' gives no per-parameter meaning, allowed values, or format hints. The agent is left entirely dependent on parameter names, which are insufficient for correct invocation.

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

Purpose4/5

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

The description states a specific verb ('Update') and resource ('one application'), making the core operation clear. The phrase 'schema-bound public API fields' adds some scope but does not explicitly differentiate this from the many application-related sibling operations such as transitions, archive binds, or email decision applies. It is understandable, but not fully distinguished from sibling tools.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives like applications_transition_direct, applications_archive_bind, or applications_email_decision_apply. An agent is not told which update scenarios belong here and which belong to a sibling, so it must infer the boundary from the name alone.

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

yardstick_ats_imports_applyConfirm and apply an ATS importA
Idempotent
Inspect

Apply an approved ATS import preview with a preview_hash matching the stored dry-run. Creates people/jobs/interview_plans(stub)/job_postings/applications with idempotent replay; never sends outreach, merges people, or deletes records.

ParametersJSON Schema
NameRequiredDescriptionDefault
import_idYes
request_idNo
preview_hashYes
idempotency_keyNo

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the annotations, the description explicitly discloses what the tool creates (people, jobs, interview plans as stubs, job postings, applications), that it replays idempotently, and what it never does (send outreach, merge people, delete records). This gives the agent a concrete side-effect model without contradicting the annotations.

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

Conciseness5/5

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

Two sentences with no filler: the first front-loads the action and its governing condition, the second compactly lists created and excluded behaviors. Every clause earns its place.

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

Completeness4/5

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

For a mutating apply tool with no output schema, the description covers the purpose, side effects, idempotency, and safety exclusions well. It falls slightly short on explicit parameter guidance for request_id and idempotency_key, and it does not name the dry-run predecessor by tool name, but an agent can still correctly invoke it with the required fields.

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

Parameters2/5

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

With 0% schema description coverage, the description must explain the parameters, but it only meaningfully clarifies preview_hash ('matching the stored dry-run'). It does not explain import_id, request_id, or idempotency_key, even though idempotent replay is mentioned and idempotency_key is likely relevant to that behavior. The description leaves most parameter semantics to inference.

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

Purpose5/5

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

The description states a specific verb ('Apply') and resource ('ATS import preview'), includes the key condition (preview_hash matching the stored dry-run), and enumerates the entity types created. This clearly distinguishes it from sibling tools like yardstick_ats_imports_dry_run, yardstick_ats_imports_read, and yardstick_prospect_imports_apply.

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

Usage Guidelines4/5

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

The description makes the usage context clear: apply only an approved ATS import preview whose preview_hash matches the stored dry-run. It implicitly routes the agent toward the dry-run-then-apply workflow and away from read-only or preview-only tools, though it does not explicitly name alternatives or give when-not conditions.

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

yardstick_ats_imports_dry_runPreview an ATS import (no records written)B
Idempotent
Inspect

Preview a structured-row ATS import of candidates, jobs, and applications (source_kind: csv). JSON rows only; no raw CSV/archive file reads, no application conversion side effects, and low-confidence stage/fuzzy matches require explicit apply decisions.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobsNo
metadataNo
candidatesNo
request_idNo
session_idNo
source_kindNo
applicationsNo
source_labelNo
idempotency_keyNo

TDQS

B3.2/5.0
Behavior1/5

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

The description asserts a dry-run behavior with 'Preview', 'no records written' in the title, and 'no application conversion side effects.' This directly contradicts the annotation readOnlyHint: false, which signals the tool may not be read-only. Because the description conflicts with the provided annotation, the score must be 1 per the rubric. The extra detail about JSON-only input and low-confidence match handling would otherwise be valuable behavioral disclosure, but the contradiction undermines trust.

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

Conciseness4/5

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

The description is a single dense sentence with no filler. It front-loads the primary purpose and packs the key constraints (JSON only, no raw file reads, no conversion side effects, explicit apply decisions for low-confidence matches). A more structured layout could improve scannability, but the content is tight and every clause adds information.

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

Completeness2/5

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

This is a complex tool with 9 parameters, nested arrays, and no output schema. The description does not explain what the preview returns (e.g., validation errors, match summaries, or confirmation), nor does it clarify which parameters are typically required despite none being marked required. It also gives no usage examples or guidance on constructing the import payload. The description is incomplete for safe and correct invocation of such a multifaceted dry-run import tool.

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

Parameters2/5

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

Schema description coverage is 0% and there are 9 parameters, so the description must compensate. It only mentions 'source_kind: csv' and 'JSON rows only,' giving a hint about source_kind and input format, but it does not explain the meaning or relationships of jobs, candidates, applications, metadata, request_id, session_id, source_label, or idempotency_key. The description names the main resource categories but leaves most parameter semantics to the schema, which is insufficient at this parameter count and coverage level.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Preview a structured-row ATS import of candidates, jobs, and applications.' It clearly scopes the tool to CSV-style structured rows and distinguishes it from related apply/read tools by emphasizing 'preview', 'dry run' in the name, and 'no application conversion side effects.' An agent can tell this apart from yardstick_ats_imports_apply and yardstick_ats_imports_read without deeper inspection.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool: before applying an import, with JSON rows only, and when avoiding side effects or raw CSV/archive reads. It does not explicitly name the alternative apply tool or state 'use this instead of apply when you only want validation,' but the constraints strongly imply a dry-run workflow. The absence of explicit 'when not to use' wording keeps this at a 4 rather than a 5.

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

yardstick_ats_imports_readRead an ATS import batchA
Read-onlyIdempotent
Inspect

Read one ATS import dry-run/apply batch and its rows by public id.

ParametersJSON Schema
NameRequiredDescriptionDefault
import_idYes
request_idNo

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds that the batch and its rows are returned and lookup is by public id, but no further behavioral context (pagination, permissions, error cases) 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.

Conciseness5/5

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

One sentence, front-loaded with the action and resource, with no filler, tautology, or redundant restatement of the title. Every word earns its place.

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

Completeness3/5

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

For a simple read tool, the core call (import_id by public id, returning batch and rows) is stated. However, with no output schema and no parameter documentation, request_id's purpose and the relationship between dry-run and apply batches remain unclear, making the description minimally adequate.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate. 'By public id' clarifies that import_id is the batch's public identifier, but request_id is left completely unexplained and there is no hint about when it is needed.

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

Purpose5/5

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

The description uses a specific verb ('Read'), names the resource ('ATS import dry-run/apply batch'), and states the payload scope ('and its rows'). This clearly distinguishes it from sibling operations like yardstick_ats_imports_apply and yardstick_ats_imports_dry_run.

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

Usage Guidelines3/5

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

No explicit when-to-use or alternative routing is given. The read semantics imply it should be used to inspect a previously created dry-run/apply batch, but the description does not name apply/dry_run or explain when this read is preferable to other tools.

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

yardstick_audit_log_listList audit log entriesB
Read-onlyIdempotent
Inspect

List public Yardstick audit log entries visible to the current principal.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
request_idNo
starting_afterNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the visibility scoping ('public' and 'visible to the current principal') but does not disclose pagination, ordering, or other runtime behavior.

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

Conciseness5/5

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

The description is a single clear sentence with no filler. It front-loads the action and resource, then adds the scopeful visibility qualifier.

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

Completeness2/5

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

With no output schema and no parameter semantics in the description, the agent is left without important details such as response shape, pagination behavior, or how request_id and starting_after interact. The annotations cover safety but not the operational details needed for a correct call.

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

Parameters1/5

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

Schema description coverage is 0% and the description adds no meaning for limit, request_id, or starting_after. An agent must guess that starting_after is a pagination cursor and request_id is an identifier filter purely from parameter names.

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

Purpose5/5

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

The description states a specific verb (List), a specific resource (Yardstick audit log entries), and a scope qualifier (public entries visible to the current principal). This clearly distinguishes it from the many other list tools among the siblings.

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

Usage Guidelines3/5

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

The description implies the tool is for viewing audit log entries, but it gives no explicit guidance on when to prefer it over alternatives or when not to use it. The 'visible to the current principal' qualifier provides some access context, but no conditions, exclusions, or sibling comparisons.

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

yardstick_automation_rules_createCreate a stage automation ruleAInspect

Create a stage automation rule (trigger + typed action from the 3-type palette: send_scheduling_link / create_task / send_email). Inert — fires no side effect.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
triggerYes
positionNo
conditionNo
is_activeNo
request_idNo
idempotency_keyNo
pipeline_stage_idYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations only indicate readOnlyHint=false, destructiveHint=false, and idempotentHint=false, which is limited. The description adds valuable behavioral context by disclosing that the created rule is inert and fires no side effect, a nontrivial trait for an agent weighing whether calling this tool will have immediate external consequences. It does not disclose response format or validation behavior, but the key behavioral caveat is present.

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

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the primary purpose, then gives the action palette, and ends with the important 'Inert' caveat. There is no redundant text; every clause contributes meaning.

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

Completeness2/5

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

This is a create operation with a complex nested discriminated union and eight parameters, and no output schema. The description covers only the core trigger/action concept and the inert behavior. It does not explain that pipeline_stage_id is required, the meaning of position or condition, the is_active default, or how idempotency_key/request_id factor into the call, leaving an agent with significant gaps for a correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It names the three action palette options and mentions the trigger, covering two of the eight parameters. However, it leaves pipeline_stage_id, position, condition, is_active, request_id, and idempotency_key unexplained, and the agent would need to infer their meaning purely from the schema names and types.

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

Purpose5/5

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

The description opens with 'Create a stage automation rule', a specific verb+resource combination. It further clarifies the rule is composed of a trigger plus one of exactly three typed actions (send_scheduling_link / create_task / send_email), which distinguishes it from the sibling preview/update/read tools without opening their schemas.

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

Usage Guidelines3/5

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

The tool's purpose makes the primary usage context clear — it is for creating automation rules. However, the description does not explicitly say when to prefer create over preview or update, nor does it note that preview may be used to test a rule before creation. The 'Inert — fires no side effect' note hints at a distinction from actually triggering the automation, but this guidance 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.

yardstick_automation_rules_deleteDelete a stage automation ruleA
DestructiveIdempotent
Inspect

Delete a stage automation rule. Plain delete (no approval preview→bind): rules are inert config, so deleting unfired config moves no candidates.

ParametersJSON Schema
NameRequiredDescriptionDefault
rule_idYes
request_idNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false. The description adds value by explaining that it is a plain delete with no approval step and that rules are inert config, so deleting unfired config has no candidate movement. This goes beyond the annotations without contradicting them.

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

Conciseness5/5

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

The description is two sentences: the first states the core action, the second adds critical behavioral nuance. It is front-loaded, dense, and contains no filler. Every sentence earns its place.

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

Completeness3/5

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

For a simple delete tool with two parameters, the description covers the purpose and the safety aspect (no candidates moved for unfired config). However, it lacks parameter explanations, particularly request_id, and does not mention idempotency or error behavior, leaving the definition incomplete for a tool with zero schema descriptions and no output schema.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for parameter meaning. It does not mention rule_id or request_id at all. While rule_id is inferable from the resource name, request_id remains completely unexplained, leaving a significant gap for agents selecting or invoking the tool.

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

Purpose5/5

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

The description clearly states the action and resource: 'Delete a stage automation rule.' It distinguishes from sibling tools by explicitly noting 'Plain delete (no approval preview→bind)', separating it from the preview/bind pattern used elsewhere in the toolset.

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

Usage Guidelines4/5

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

The description provides context on when this tool is appropriate: it is the direct delete without an approval preview→bind flow, and it notes that rules are inert config so deleting unfired config moves no candidates. However, it does not explicitly mention alternatives or exclusions, like whether to use a different tool if you need to preview consequences.

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

yardstick_automation_rules_listList stage automation rulesA
Read-onlyIdempotent
Inspect

List the organization's stage automation rules. Rules are inert config — authoring fires no side effect; the executor child runs rules later.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already mark the call as read-only, idempotent, and non-destructive; the description adds a useful behavioral model by explaining rules are inert config and that authoring does not fire side effects while an executor child runs rules later. This goes beyond the structured hints without contradicting them.

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

Conciseness5/5

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

Two short sentences, front-loaded with the primary action and followed by the one behavioral clarification that matters. No redundant prose or repetition of the title.

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

Completeness4/5

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

For a simple annotated list call, the description is nearly complete: it covers what is listed, at what scope, and the side-effect model. There is no output schema, so the return shape is left implicit, and pagination/filtering is not mentioned, but the single optional parameter and read-only annotations make these minor gaps.

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

Parameters2/5

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

Schema description coverage is 0% and the description does not explain the sole request_id parameter, so no extra meaning is added beyond the raw schema. The impact is modest because request_id is optional and self-describing as a request identifier, but the low-coverage rule is not satisfied.

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

Purpose4/5

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

The description names a specific verb and resource ('List ... stage automation rules') and scopes it to the organization, so an agent can tell that this enumerates rules rather than reading, creating, or previewing them. It does not explicitly contrast with sibling automation-rule tools, so it stops short of the strongest sibling differentiation.

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

Usage Guidelines3/5

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

The inert-config clause implies this is the safe inspection path and that execution happens later through an executor child, but it never states when to choose this tool over automation_rules_read, preview, or runs_list. The usage guidance is therefore implied rather than explicit.

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

yardstick_automation_rules_previewPreview which automations a stage change would fire (runs nothing)A
Read-onlyIdempotent
Inspect

Dry-run preview: resolve the active rules + their resolved action params for a sample application entering/leaving a stage. INERT — mints no scheduling link, creates no task, sends no email; executes nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
triggerYes
request_idNo
application_idYes
idempotency_keyNo
pipeline_stage_idYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context beyond annotations: it explicitly states the tool 'mints no scheduling link, creates no task, sends no email; executes nothing.' This is exactly the kind of behavioral disclosure that helps an agent trust the tool is safe. It doesn't describe the return format, but with no output schema and annotations covering safety, the description does a solid job.

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

Conciseness5/5

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

The description is two sentences with zero waste. The first sentence states the purpose and the second sentence lists the non-effects. The 'INERT' emphasis is front-loaded and the safety guarantees are stated explicitly. Every word earns its place.

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

Completeness4/5

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

For a preview/dry-run tool with strong annotations (readOnlyHint, idempotentHint, destructiveHint all set), the description is nearly complete. It explains what the tool does, what it doesn't do, and the scenario it applies to. The only gap is that it doesn't describe what the response contains (resolved action params are mentioned but not detailed), and it doesn't explain the trigger parameter's two enum values. Given the tool's simplicity and annotation coverage, this is a minor gap.

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

Parameters3/5

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

Schema description coverage is 0%, so the description carries the burden for parameter meaning. The description mentions 'a sample application entering/leaving a stage' which maps to application_id, trigger, and pipeline_stage_id. However, it doesn't explain the trigger enum values (stage_enter vs stage_exit) or the optional request_id and idempotency_key parameters. The description adds some meaning but doesn't fully compensate for the 0% schema coverage.

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

Purpose5/5

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

The description states a specific verb ('preview'), a specific resource ('automation rules'), and the exact scenario ('a sample application entering/leaving a stage'). The title reinforces this with 'runs nothing'. This clearly distinguishes it from sibling tools like yardstick_automation_rules_list (which lists rules) and yardstick_automation_runs_list (which lists actual runs).

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

Usage Guidelines4/5

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

The description clearly implies when to use this tool: when you want to know which automations would fire for a stage change without actually triggering them. The 'INERT' emphasis and 'executes nothing' clarify it's a dry-run alternative to actually applying a stage change. However, it doesn't explicitly name sibling alternatives like yardstick_applications_transition_preview or yardstick_applications_transition_direct, so it gets a 4 rather than a 5.

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

yardstick_automation_rules_readRead a stage automation ruleA
Read-onlyIdempotent
Inspect

Read one stage automation rule by public id (its trigger, typed action, target stage, and is_active state).

ParametersJSON Schema
NameRequiredDescriptionDefault
rule_idYes
request_idNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive behavior. The description adds useful detail by listing what the response contains (trigger, typed action, target stage, is_active state), which helps the agent understand what this read operation returns.

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

Conciseness5/5

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

The description is one concise sentence, front-loads the action and key identifier, and includes a compact parenthetical listing of returned fields. No redundant or filler text is present.

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

Completeness4/5

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

For a simple read operation with no output schema, the description adequately states what is returned and how the rule is identified. The only notable omission is the optional request_id parameter, which is not necessary for a successful basic call.

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

Parameters3/5

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

The description clarifies that rule_id is a public ID, adding meaning to the bare schema field. However, the optional request_id parameter is not mentioned anywhere, and schema description coverage is 0%, leaving that parameter unexplained.

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

Purpose5/5

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

The description clearly states the operation: 'Read one stage automation rule by public id' and enumerates the specific fields returned. It distinguishes this read tool from list/create/update/delete siblings by emphasizing singular retrieval by ID.

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

Usage Guidelines4/5

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

The description makes the usage context clear: use this tool when you need a single automation rule by public ID. It does not explicitly name alternatives or state when not to use it, but the singular 'Read one' plus the tool name provide adequate differentiation from list-based alternatives.

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

yardstick_automation_rules_updateEdit a stage automation ruleB
DestructiveIdempotent
Inspect

Edit a stage automation rule's trigger, typed action, condition, position, or is_active state.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNo
rule_idYes
triggerNo
positionNo
conditionNo
is_activeNo
request_idNo
idempotency_keyNo

TDQS

B3.3/5.0
Behavior2/5

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

Annotations already declare that this is a destructive, non-read-only, idempotent operation. The description adds no behavioral context beyond the annotation: it does not mention partial-update semantics (e.g., omitted fields remain unchanged), side effects, or required permissions. This leaves the agent to infer behavior from the schema and annotations alone.

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

Conciseness5/5

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

The description is a single sentence that is direct and free of filler. It front-loads the verb and resource, then lists the editable fields in a compact list. Nothing extraneous is included.

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

Completeness2/5

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

This is a complex tool with eight parameters, nested action objects, enum values, and no output schema, yet the description provides only a terse list of editable fields. It omits critical context such as how to construct the action object, what a typical edit request looks like, partial-update behavior, and any relation to the rule's position or activation state. An agent given just this description would struggle to invoke the tool correctly.

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

Parameters2/5

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

With 0% schema description coverage, the description is the primary source of parameter meaning, but it only names the editable fields without explaining their semantics. For instance, 'typed action' is ambiguous—the schema defines three action object variants, but the description does not clarify which types are valid, what fields are required, or how 'condition' and 'position' behave. The description insufficiently compensates for the lack of schema parameter descriptions.

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

Purpose5/5

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

The description uses a specific verb ('Edit') and resource ('stage automation rule') and explicitly lists the editable attributes (trigger, typed action, condition, position, is_active state). This clearly differentiates it from sibling tools like create, delete, read, and list, so an agent can identify the correct operation without opening the schema.

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

Usage Guidelines3/5

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

The verb 'Edit' implies this tool is used to modify an existing stage automation rule, but the description provides no explicit guidance on when to choose it over alternatives such as yardstick_automation_rules_create or yardstick_automation_rules_read. The usage context is implied rather than stated, and there are no exclusionary notes.

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

yardstick_automation_runs_listList stage automation runsA
Read-onlyIdempotent
Inspect

List the organization's stage automation runs (what fired for which candidate, success/failure). Filterable by application-id and rule-id. Read-only; runs are system-written by the executor and include skipped (deferred) send_email rows so run state is fully observable.

ParametersJSON Schema
NameRequiredDescriptionDefault
rule_idNo
request_idNo
application_idNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description adds contextual value beyond them by explaining that runs are system-written by the executor and that skipped send_email rows are included for full observability. This is useful behavioral detail without contradicting the annotations.

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

Conciseness4/5

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

The description is a single well-structured sentence that front-loads the core purpose, then adds filtering, read-only status, and a behavioral nuance. Every clause contributes meaning, though a touch more structure could make the parameter list clearer.

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

Completeness3/5

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

For a list operation with no output schema, the description conveys what data is returned (which candidate, success/failure) and covers the inclusion of skipped rows DNA. However, it doesn't describe the response structure and leaves the request_id filter unexplained, making the definition adequate but not fully complete for an agent.

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

Parameters2/5

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

Since schema description coverage is 0%, the description carries the burden of explaining parameters. It names application-id and rule-id as filters, but completely ignores the request_id parameter and provides no type, format, or meaning for any of them. This leaves an important gap for an agent needing to construct a correct call.

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

Purpose5/5

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

The description states a specific verb ('List') and a distinct resource ('stage automation runs') while adding context about what the runs contain and how they are produced. This clearly distinguishes it from sibling tools like yardstick_automation_rules_list, which deal with rules rather than run history.

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

Usage Guidelines3/5

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

The description identifies two filters (application-id, rule-id) and notes the read-only nature, implying when this tool is appropriate for inspecting run history. However, it doesn't explicitly contrast with sibling tools or state when not to use it, and the request_id filter is omitted from the guidance.

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

yardstick_built_in_agents_configure_bindConfirm and save built-in-agent settingsA
DestructiveIdempotent
Inspect

Bind an approved built-in-agent configure preview (same config plus approval metadata and a matching idempotency key). Writes only the built-in agent's declared settings keys and records one audit row.

ParametersJSON Schema
NameRequiredDescriptionDefault
configYes
bindingYes
request_idNo
idempotency_keyNo
built_in_agent_idYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already mark the tool as destructive and idempotent, and the description goes beyond them by scoping the write ('only the built-in agent's declared settings keys') and adding the audit-row side effect. It does not detail auth or reversibility, but the main behavioral risk is addressed.

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

Conciseness5/5

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

Two sentences, front-loaded with the verb and object, no filler. Each sentence adds distinct information: what is bound and what side effects occur.

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

Completeness4/5

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

For a bind tool with no output schema, the description conveys the core workflow pieces: an approved preview, matching config, approval metadata, and idempotency. It does not explicitly name configure_preview as the prerequisite step, but the approved-preview language makes the dependency clear enough.

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

Parameters4/5

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

With 0% schema description coverage, the description adds needed meaning: config must be the same as the preview, binding carries approval metadata, and the idempotency key must match. It does not explain request_id or every binding subfield, but those are sufficiently self-describing in the schema.

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

Purpose5/5

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

The description names a specific action ('Bind'), a specific resource ('approved built-in-agent configure preview'), and states the effect: writes only declared settings keys and an audit row. This clearly differentiates it from the sibling configure_preview (which stages but does not save) and from enable_bind.

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

Usage Guidelines3/5

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

The phrase 'approved built-in-agent configure preview' implies this is the commit step after a preview, but the description never explicitly says to use it after configure_preview or contrasts it with that sibling. Usage context is inferable, not stated.

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

yardstick_built_in_agents_configure_previewPreview built-in-agent settings changes (nothing changed yet)A
Idempotent
Inspect

Preview configuring a built-in agent (config is validated against the built-in agent's declared schema; enabled is a first-class key, so { enabled: false } is the off switch). Side-effect free; pass config via --body-json.

ParametersJSON Schema
NameRequiredDescriptionDefault
configYes
request_idNo
idempotency_keyNo
built_in_agent_idYes

TDQS

A3.5/5.0
Behavior1/5

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

The description explicitly claims 'Side-effect free', but the annotations declare readOnlyHint=false, which signals the tool may modify state. This is a direct contradiction between the description and the annotations, making it unsafe for an agent to rely on the stated side-effect behavior.

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

Conciseness5/5

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

The description is a single dense sentence with no filler. Purpose, validation behavior, the key 'enabled' semantics, side-effect safety, and invocation method are all front-loaded and useful.

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

Completeness3/5

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

The core usage is covered well, especially the config semantics and side-effect-free guarantee. But there is no output schema and the description never explains what the preview returns or how the agent should interpret the response, leaving a meaningful gap for a tool whose whole purpose is to produce a preview.

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

Parameters3/5

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

With 0% schema description coverage, the description adds real meaning to the config parameter: it is validated against the agent's declared schema, enabled is a first-class key, and { enabled: false } is the off switch. However, request_id and idempotency_key remain completely undocumented, and built_in_agent_id is only implied by the tool name.

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

Purpose5/5

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

The description clearly says it previews configuring a built-in agent, names the resource, and emphasizes that nothing is changed yet. This makes the dry-run nature obvious and distinguishes it from the applying sibling (configure_bind).

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

Usage Guidelines4/5

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

It gives clear context: use this to preview and validate config before applying, with no side effects, and pass config via --body-json. It does not explicitly name the apply alternative or state when not to use it, so it stops short of a 5.

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

yardstick_built_in_agents_enable_bindConfirm and turn on a built-in agentB
DestructiveIdempotent
Inspect

Bind an approved built-in-agent enable preview with explicit approval metadata and a matching idempotency key. Writes the built-in agent's declared settings home and records one audit row.

ParametersJSON Schema
NameRequiredDescriptionDefault
bindingYes
request_idNo
idempotency_keyNo
built_in_agent_idYes

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already signal non-readOnly and destructive behavior, and the description adds concrete side effects: it 'writes the built-in agent's declared settings home' and 'records one audit row.' It also reinforces the idempotentHint by requiring a matching idempotency key. No contradiction with annotations was found.

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

Conciseness5/5

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

Two sentences carry the action and the consequence with no filler. The primary action is front-loaded, and the audit/settings side effect is stated compactly in the second sentence.

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

Completeness2/5

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

For a complex bind operation with a 5-field nested approval object and no output schema, the description is too thin. It does not indicate where the approval metadata comes from, what a successful response looks like, or how the binding relates to the enable_preview sibling, leaving a significant inference burden on the agent.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only vaguely references 'explicit approval metadata' and a 'matching idempotency key.' It does not explain preview_hash, approved_input_hash, resource_version_precondition, request_id, or how the two key fields relate, so the agent cannot confidently populate the nested binding object from the description alone.

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

Purpose4/5

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

The description states a specific action ('Bind an approved built-in-agent enable preview') and the resource affected, and the title clarifies that this turns on the agent. It is distinguishable from configure_bind by the 'enable' framing, though the term 'bind' is somewhat domain-specific and not fully unpacked.

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

Usage Guidelines3/5

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

The phrase 'approved built-in-agent enable preview' implies this is the follow-up to an enable_preview call and requires prior approval metadata. However, it never explicitly names the preview sibling or says when not to use this tool versus configure_bind or other alternatives, so the usage guidance is only implied.

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

yardstick_built_in_agents_enable_previewPreview turning on a built-in agent (nothing changed yet)A
Idempotent
Inspect

Preview enabling a built-in agent; returns the approval-required envelope stating exactly what starts happening (and what is never sent without you) plus binding fields. Side-effect free.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
idempotency_keyNo
built_in_agent_idYes

TDQS

A4/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint false, idempotentHint true, destructiveHint false), the description explicitly says 'Side-effect free' and details what the response will contain: the approval-required envelope, what starts happening, what is never sent without you, and binding fields. This gives substantial behavioral context that annotations do not provide.

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

Conciseness5/5

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

The description is a single lean sentence that front-loads the action ('Preview enabling...') and packs in key behavioral and return-value information. There is no redundant or filler content.

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

Completeness3/5

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

The description excels at explaining purpose and output, but with zero parameter documentation and no mention of idempotency or request_id despite the idempotentHint annotation, it leaves notable gaps. An agent could call the tool but would be unsure how to properly supply parameters, so it is only minimally adequate.

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

Parameters1/5

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

Schema description coverage is 0%, and the description provides no explanation of the parameters (built_in_agent_id, request_id, idempotency_key). The agent is left without any semantic guidance on which IDs to use or how idempotency works, making this a major gap.

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

Purpose5/5

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

The description states 'Preview enabling a built-in agent' – a specific verb and resource – and clarifies 'nothing changed yet', making it distinct from the sibling enable_bind tool. The 'Side-effect free' note reinforces that this is a preview, not an actual mutation.

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

Usage Guidelines4/5

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

The description clearly indicates this is a preview action and is safe to invoke without side effects, implying it should be used before the actual enable operation. However, it does not explicitly name the alternative bind tool or give an explicit when-not-to-use condition, so it falls short of full explicitness.

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

yardstick_built_in_agents_listList built-in agentsA
Read-onlyIdempotent
Inspect

List the built-in-agent catalog with each built-in agent's current status, explicit defaults or disabled state, and latest work summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds value by specifying exactly what data the list contains (status, defaults/disabled state, latest work summary), going beyond the minimal 'list' expectation.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that wastes no words. It states the core action immediately and lists the output details efficiently.

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

Completeness4/5

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

For a read-only list operation with no required parameters and no output schema, the description provides sufficient detail about the response content. It lacks mention of pagination or sorting, but these are unlikely to be needed for a catalog listing, making it reasonably complete.

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

Parameters2/5

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

Schema coverage is 0% (no descriptions in the schema) and the description does not mention the optional request_id parameter at all. Since the parameter is optional, the agent could omit it, but the description fails to explain its purpose or whether it's needed for tracing or filtering, leaving the agent without guidance.

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

Purpose5/5

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

The description uses a specific verb ('List') and resource ('built-in-agent catalog') and names three concrete output elements (current status, defaults/disabled state, latest work summary). This clearly distinguishes it from read (single agent) and mutation tools like configure/enable.

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

Usage Guidelines3/5

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

The description implies its use for getting an overview of all built-in agents, but it doesn't explicitly contrast with alternatives like yardstick_built_in_agents_read for a single agent. No when-to-use or when-not-to-use guidance is provided.

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

yardstick_built_in_agents_readRead a built-in agentA
Read-onlyIdempotent
Inspect

Read one built-in agent by catalog id (for example scorecard-chaser, nightly-screening, or interview-kit-prep): what it does, what it never does without you, current status, and latest work summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
built_in_agent_idYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive safety. The description adds meaningful behavioral context by stating what the returned data will include, especially 'what it never does without you,' which conveys an important boundary of the agent's autonomous behavior. This goes beyond a bare read operation.

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

Conciseness5/5

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

A single, well-structured sentence that front-loads the primary action and identifier, then lists the returned content. No wasted words or redundant restatement of the title.

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

Completeness4/5

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

With no output schema, the description compensates by enumerating the expected return content (purpose, safety boundaries, status, work summary). It does not explain the optional request_id parameter, but that is likely a correlation identifier and not central to calling the tool. Overall, an agent has enough to invoke it correctly.

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

Parameters3/5

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

Schema description coverage is 0%, so the description carries the burden. It explains built_in_agent_id well by giving a format ('catalog id') and examples, but it does not mention request_id at all. This leaves one of the two parameters semantically undocumented.

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

Purpose5/5

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

The description names a specific verb ('Read'), a specific resource ('built-in agent'), and the key lookup mechanism ('by catalog id'), with concrete examples. It clearly distinguishes this single-item read tool from the sibling list tool by emphasizing 'one' and 'by catalog id'.

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

Usage Guidelines4/5

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

The description gives clear context: use this when you need details about a single built-in agent identified by catalog id. It does not explicitly name alternatives or exclusion conditions, but 'one' versus the implied list tool is enough for an agent to infer when to use it.

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

yardstick_built_in_agents_runsList built-in-agent run historyA
Read-onlyIdempotent
Inspect

List the organization's built-in-agent run history as a flat work report. Nightly screening reports scheduled-work counts and held, released, or invalidated review outputs; interview-kit preparation reports the scheduled week and count-only results. It never includes candidate, draft, recipient, kit, or provider details. delivery_unknown is not delivered and is not retried. Filterable by built-in-agent id. Read-only and mode-scoped.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
built_in_agent_idNo

TDQS

A4.1/5.0
Behavior5/5

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

The description adds substantial behavioral detail beyond the read-only, idempotent, and non-destructive annotations: the report is flat, excludes candidate/draft/recipient/kit/provider data, and delivery_unknown is never delivered and never retried. It also discloses that results are mode-scoped, which is not present in the annotations.

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

Conciseness5/5

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

The description is dense but efficient: each sentence adds information about output shape, per-mode contents, exclusions, delivery_unknown semantics, filtering, and mode scope. There is no redundancy with the title or annotations.

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

Completeness4/5

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

For a read-only list with two optional parameters, the description covers what is returned and how to filter by built-in-agent id. The main gaps are the undocumented request_id parameter and the absence of any output field or pagination detail, but the essential invocation context is present.

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

Parameters2/5

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

The description explicitly maps built_in_agent_id to filtering, but it never explains request_id, its purpose, or whether it is required. Since the schema provides no parameter descriptions and the description covers only one of two parameters, the agent is left with incomplete guidance for invoking the tool.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'List the organization's built-in-agent run history' and clarifies the result is a flat work report. It also identifies the two built-in-agent modes covered, which distinguishes this tool from sibling list tools like yardstick_built_in_agents_list and yardstick_automation_runs_list.

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

Usage Guidelines3/5

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

The description gives useful context for when this tool is relevant, such as nightly screening reports and interview-kit preparation. However, it never names alternative tools or states when not to use this tool, so an agent must infer routing from sibling tool names rather than being told.

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

yardstick_decision_brief_readRead a hiring decision briefC
Read-onlyIdempotent
Inspect

Read the decision brief for an application.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
application_idYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no behavioral context beyond the read action—no mention of authentication, rate limits, or what the returned brief contains. With no additional disclosure, this dimension scores low.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no filler. While it is essentially a restatement of the title, it is concise and easy to parse, earning a slightly above-average score for structure.

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

Completeness2/5

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

For a read tool with no output schema, the description should provide enough context for an agent to know what a decision brief is and how it differs from an application read. It does neither, nor does it clarify the role of request_id. The definition is insufficient for confident, correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It only implies that application_id is the key via 'for an application,' but it leaves request_id completely unexplained. Two parameters exist, and the description provides no meaningful detail about either.

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

Purpose4/5

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

The description states a specific verb ('read') and resource ('decision brief') tied to an application, making the core purpose clear. However, it does not explicitly differentiate itself from siblings like yardstick_applications_read or yardstick_decision_brief_regenerate, so it misses the full 5.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. The description does not mention any context, prerequisites, or exclusions, leaving the agent to infer usage solely from the name.

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

yardstick_decision_brief_regenerateRegenerate a hiring decision briefC
Destructive
Inspect

Regenerate a decision brief for an application with idempotency metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
application_idYes
idempotency_keyNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already indicate destructiveHint=true and readOnlyHint=false, and the description's 'Regenerate' aligns with mutation. The phrase 'with idempotency metadata' adds a small amount of behavioral context beyond the annotations, but the description does not disclose what happens to the existing decision brief, whether the regeneration is reversible, or what side effects may occur.

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

Conciseness4/5

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

The description is a single concise sentence with no filler, and the core action is front-loaded. It could earn a higher score if it used the saved space to add more practical guidance, but as written it is appropriately brief.

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

Completeness2/5

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

For a destructive mutation tool with no output schema and no parameter-level documentation, the description is too thin. It does not explain the regeneration behavior, overwrite semantics, retry/idempotency usage, or expected outcome, leaving the agent with insufficient context to invoke it confidently.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it only broadly indicates that the tool applies to 'an application' and mentions 'idempotency metadata'. It does not explain the distinct roles of request_id versus idempotency_key, nor why only application_id is required.

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

Purpose4/5

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

The description uses a specific verb ('Regenerate') and resource ('a decision brief for an application'), which makes the core action clear. It also distinguishes implicitly from the sibling yardstick_decision_brief_read by using 'regenerate' rather than 'read', though it does not explicitly contrast the two.

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

Usage Guidelines2/5

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

The description gives no guidance about when to use this tool versus alternatives such as yardstick_decision_brief_read. It does not state conditions, prerequisites, or exclusions, leaving the agent to infer the appropriate context from the name alone.

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

yardstick_departments_createCreate a department (confirm in Yardstick)CInspect

Create a Department through the public Yardstick API.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
slugNo
request_idNo
descriptionNo
idempotency_keyNo

TDQS

C2.4/5.0
Behavior2/5

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

Annotations are all false, so the description carries full responsibility for behavioral disclosure. It only says 'create,' implying mutation, but fails to mention any side effects, confirmation requirements (as hinted by the title), idempotency behavior (despite the idempotency_key parameter), or permissions. The description is minimal and does not add meaningful behavioral context beyond the fact of creation.

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

Conciseness4/5

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

The description is a single concise sentence with no fluff. It front-loads the purpose and is easy to parse. However, it is so sparse that it borders on under-specification, but given its brevity and clarity of action, it earns a 4 for conciseness and structure.

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

Completeness1/5

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

Given 5 parameters, no output schema, and no annotations, the description is woefully incomplete. It does not explain any parameter semantics, does not mention confirmation steps, idempotency, or any prerequisites. An agent would have no idea how to properly invoke this tool beyond knowing the resource. This is a critical gap for a create operation.

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

Parameters1/5

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

Schema description coverage is 0%, meaning the schema itself provides no parameter explanations. The description does not compensate at all—it says nothing about what each parameter means, which ones are required (only name is required but not stated), or how to use idempotency_key or request_id. This is a severe gap for a tool with 5 parameters.

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

Purpose4/5

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

The description states a clear verb and resource: 'Create a Department through the public Yardstick API.' It is unambiguous about what the tool does and distinguishes it from sibling tools like yardstick_departments_update by naming the create action. However, it doesn't clarify the 'confirm in Yardstick' aspect from the title, so it loses a point for not differentiating the specific flow.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, confirmation steps, or scenarios where create should be preferred over update or list. The description is purely declarative with no contextual routing.

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

yardstick_departments_invitations_createInvite someone to a department (confirm in Yardstick)CInspect

Create a Department-scoped invitation without returning token material.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
roleYes
emailYes
full_nameNo
request_idNo
department_idYes
idempotency_keyNo
expires_in_hoursNo

TDQS

C2.7/5.0
Behavior2/5

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

With readOnlyHint=false, the description correctly implies a mutation, but it only discloses one behavioral aspect (not returning token material). It does not mention side effects like sending an email or requiring confirmation (which the title hints at), nor does it provide context about idempotency or error handling. Given the sparse annotations, the description carries the burden and fails to adequately disclose behavior.

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

Conciseness4/5

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

The description is a single, concise sentence with no filler words. It front-loads the action and includes a relevant behavioral note. However, it may be slightly too terse given the complexity of the tool, but as far as conciseness goes, it is efficient.

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

Completeness1/5

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

For a tool with 8 parameters, 3 required, no schema descriptions, and no output schema, this description is severely incomplete. It does not explain required inputs, the role enum, expiration behavior, idempotency, or what happens after creation. An agent cannot confidently invoke this tool correctly based on the provided information.

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

Parameters1/5

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

The input schema has 8 parameters, all with zero description coverage, and the description mentions none of them. It does not clarify the meaning of department_id, email, role, idempotency_key, expires_in_hours, etc. The description provides no compensation for the missing schema descriptions, leaving the agent to guess parameter semantics.

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

Purpose5/5

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

The description clearly states the action ('Create'), the resource ('invitation'), and the scope ('Department-scoped'). It also adds a specific detail about behavior ('without returning token material'), which makes the purpose unambiguous and distinguishes it from other invitation-related tools like listing.

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or other tools (e.g., the sibling list tool). The intended usage is only implied by the name and the word 'Create'.

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

yardstick_departments_invitations_listList department invitationsC
Read-onlyIdempotent
Inspect

List redacted Department invitation views.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
request_idNo
department_idYes
starting_afterNo

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already communicate that this is a safe, read-only, idempotent operation, so the description does not need to restate those traits. It adds a little extra context by saying the views are 'redacted,' but it does not explain what is redacted, how pagination behaves, or what the response shape 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.

Conciseness4/5

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

The description is a single, front-loaded sentence with no filler or repetition. It is concise, though it may be slightly too terse to be fully informative.

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

Completeness2/5

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

With four parameters, no output schema, and 0% schema description coverage, the description is far too minimal to be complete. It communicates only the basic operation, leaving pagination semantics, the required department parameter, and the meaning of 'redacted' views unexplained.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no parameter-level meaning. Required department_id, limit, starting_after, and request_id are left entirely undocumented, so the description fails to compensate for the schema's lack of explanations.

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

Purpose4/5

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

The description states a specific action ('List') and a clear resource ('Department invitation views'), and the word 'redacted' adds useful scope about the output. It does not explicitly differentiate from sibling tools, but the naming convention and the absence of other invitation list tools make the purpose reasonably unambiguous.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. An agent must infer from the name alone that this is the right call for listing department invitations, which is not explicit in the description.

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

yardstick_departments_listList departmentsA
Read-onlyIdempotent
Inspect

List Departments visible to the current principal.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
request_idNo
starting_afterNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the scoping detail ('visible to the current principal'), which is useful behavioral context beyond the annotations. However, it doesn't disclose pagination behavior, ordering, or whether the result includes nested members, which would be relevant for a list operation.

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

Conciseness5/5

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

The description is a single sentence with no wasted words. It front-loads the verb and resource, and the scoping qualifier is concise. Every word earns its place.

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

Completeness3/5

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

For a simple list operation with read-only annotations, the description is mostly adequate. However, with no output schema and no parameter descriptions, an agent might not know what the response looks like or how to use limit/starting_after for pagination. The description doesn't mention pagination or response format, which are common gaps for list tools. Given the simplicity of the tool, this is a minor gap, but it prevents a higher score.

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

Parameters3/5

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

Schema description coverage is 0%, so the description carries no parameter information. The schema itself defines three parameters (limit, request_id, starting_after) with basic types and constraints but no descriptions. The tool description doesn't explain what these parameters mean or how they relate to the listing behavior. Since the schema provides minimal semantics and the description adds nothing about parameters, a 3 is appropriate – the parameters are simple and self-explanatory to some degree, but the description doesn't compensate for the 0% coverage.

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

Purpose4/5

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

The description 'List Departments visible to the current principal' clearly states the verb (list) and resource (departments), and adds a scoping qualifier ('visible to the current principal') that distinguishes it from other department-related tools. It doesn't explicitly differentiate from sibling tools like yardstick_departments_read, but the verb+resource combination is clear enough.

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

Usage Guidelines3/5

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

The description implies usage context: it lists departments visible to the current principal, which suggests it's the appropriate tool for enumerating departments the caller can access. However, it doesn't explicitly state when to use this over alternatives like yardstick_departments_read or yardstick_departments_create, nor does it mention any exclusions or prerequisites.

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

yardstick_departments_members_addAdd a department member (confirm in Yardstick)C
Idempotent
Inspect

Add an existing person to a Department.

ParametersJSON Schema
NameRequiredDescriptionDefault
person_idYes
request_idNo
department_idYes
idempotency_keyNo

TDQS

C2.7/5.0
Behavior2/5

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

The description only notes that the person must already exist. It does not explain the 'confirm in Yardstick' behavior suggested by the title, nor what happens on duplicate membership, what side effects occur, or what the response looks like. Annotations indicate idempotent and non-destructive, but the description adds little behavioral context beyond that.

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

Conciseness4/5

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

The description is a single, economical sentence with no filler and is appropriately front-loaded. It is concise, but it omits important context carried by the title, so it is not as complete as it could be while still being short.

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

Completeness2/5

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

For a four-parameter tool with no output schema and no parameter descriptions, this description is too thin. It clarifies the two required identity parameters at a basic level but leaves the optional request_id and idempotency_key unexplained, and the title's confirmation workflow is never addressed. An agent has enough to attempt a basic call but not to use the tool fully and correctly.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It weakly maps 'person' to person_id and 'Department' to department_id, but says nothing about request_id or idempotency_key. An agent cannot understand the meaning or purpose of two of the four parameters from the description alone.

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

Purpose4/5

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

The description clearly states the action and target: 'Add an existing person to a Department.' This distinguishes it from related member operations like remove and set_lead, though it does not explicitly name a sibling for comparison. The title's parenthetical 'confirm in Yardstick' introduces an ambiguous workflow element that the description does not clarify.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives such as departments_members_remove, departments_members_list, or talent_pool_members_add. There is no mention of prerequisites, such as verifying the person exists or whether the department must already be set up. The intended use is only implied by the name and one-line description.

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

yardstick_departments_members_listList department membersC
Read-onlyIdempotent
Inspect

List Department members for an authorized Department.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
request_idNo
department_idYes
starting_afterNo

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description doesn't need to restate safety. It adds only the authorization qualifier and does not disclose pagination behavior, response contents, or ordering. Minimal added value beyond annotations.

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

Conciseness4/5

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

The description is one short sentence with no filler, and the action is front-loaded. It is concise, though it is sparse enough that it adds little beyond the title. Conciseness itself is still good.

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

Completeness2/5

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

As a list tool with no output schema and 0% parameter coverage, the description should explain pagination, authorization requirements, and what is returned. It only gives a one-line purpose, leaving the agent to guess how to use limit and starting_after and what the response shape is. This is incomplete for reliable invocation.

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

Parameters1/5

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

The schema has 4 parameters (department_id, limit, starting_after, request_id) with 0% schema description coverage, and the description explains none of them. It doesn't say what limit or starting_after control or what request_id is for. The description completely fails to compensate for the schema's lack of parameter documentation.

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

Purpose4/5

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

The description states a specific verb ('List') and resource ('Department members'), and the qualifier 'for an authorized Department' narrows scope. It reads distinctly from siblings like yardstick_departments_members_add or yardstick_departments_list, though it doesn't explicitly name an alternative. This is clear but not actively differentiating.

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

Usage Guidelines2/5

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

No explicit when-to-use or when-not-to-use guidance is given. The phrase 'authorized Department' implies a prerequisite, but there is no discussion of alternatives or conditions for choosing this list tool over other department member tools. Usage is only implicit.

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

yardstick_departments_members_removeRemove a department member (confirm in Yardstick)C
DestructiveIdempotent
Inspect

Remove a Department member, optionally with a replacement lead.

ParametersJSON Schema
NameRequiredDescriptionDefault
person_idYes
request_idNo
department_idYes
idempotency_keyNo
replacement_lead_person_idNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, and the description does not contradict them. The description adds the nuance that removal can optionally install a replacement lead, but it does not disclose consequences such as whether removing the current lead requires a replacement or whether the '(confirm in Yardstick)' title implies a confirmation step.

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

Conciseness4/5

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

The description is one tight sentence with no filler and front-loads the primary action. It is concise, though slightly under-specified for a five-parameter destructive operation.

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

Completeness2/5

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

For a destructive call with five parameters, no output schema, and 0% parameter documentation, a single sentence leaves important gaps: no mention of confirmation semantics, what happens to leads, when idempotency_key or request_id are needed, or what a successful removal returns. The annotations cover idempotency and destructiveness, but the description alone is not enough for confident invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the burden of explaining parameters. It clarifies replacement_lead_person_id as an optional replacement lead, but it does not explain the role of request_id or idempotency_key and only restates the obvious meaning of department_id and person_id, so it fails to compensate for the missing schema descriptions.

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

Purpose4/5

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

The description uses a specific verb ('Remove') and resource ('Department member'), and adds the optional replacement-lead behavior, making the core action clear. It does not explicitly contrast with sibling tools like yardstick_departments_members_add or yardstick_departments_members_set_lead, but the name and action together are unambiguous.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives such as yardstick_departments_members_set_lead or yardstick_talent_pool_members_remove. The description states what the tool does but gives no conditions, prerequisites, or exclusions, so an agent must infer applicability from the name alone.

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

yardstick_departments_members_set_leadSet the department lead (confirm in Yardstick)C
DestructiveIdempotent
Inspect

Set one Department member as lead.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNolead
person_idYes
request_idNo
department_idYes
idempotency_keyNo

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already signal destructive and idempotent behavior. The description adds only 'one member,' which is essentially the core action and not meaningful behavioral context. It doesn't explain what happens to a previous lead, whether confirmation is required despite the title's 'confirm in Yardstick,' or what side effects occur.

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

Conciseness4/5

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

The description is a single, short, front-loaded sentence with no filler. It is efficient in form, though the brevity comes at the cost of missing important contextual details.

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

Completeness2/5

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

For a mutation tool with no output schema, no parameter descriptions, and multiple optional parameters, this description is incomplete. It fails to mention the fixed role value, idempotency handling, or confirmation behavior, so an agent cannot confidently invoke the tool correctly in all cases.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate, but it explains none of the five parameters. It doesn't clarify department_id, person_id, role's fixed 'lead' value, request_id, or idempotency_key, leaving the agent to infer their meaning from names alone.

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

Purpose4/5

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

States a clear action ('Set one Department member as lead') with a specific resource and role. It is unambiguous enough to distinguish from sibling member tools like add/remove, but it does not explicitly name those siblings or call out the distinction.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus departments_members_add, departments_members_remove, or departments_members_list. It also fails to mention whether a department lead already exists, whether confirmation is required, or any prerequisites.

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

yardstick_departments_readRead a departmentA
Read-onlyIdempotent
Inspect

Read one Department by public id.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
department_idYes

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already convey readOnly, idempotent, and non-destructive behavior, so the description does not need to repeat those. It adds the useful identifier nuance of 'public id' and singular result, but does not mention response shape, not-found behavior, or any other runtime details.

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

Conciseness5/5

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

The description is a single, tight sentence with no filler. The core operation and key detail are front-loaded and every word contributes.

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

Completeness3/5

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

For a simple read tool with rich safety annotations, the description captures the essential invocation details. However, with no output schema and no mention of return or error behavior, an agent has some ambiguity about what to expect from the call.

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

Parameters3/5

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

With 0% schema description coverage, the description carries the parameter burden. It usefully clarifies that department_id is the public identifier lookup key, but the optional request_id is left entirely unexplained, creating a partial coverage gap.

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

Purpose5/5

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

The description names the exact operation ('Read'), the resource ('Department'), and the lookup key ('by public id'). It clearly distinguishes this from departments_list and departments_update without needing to inspect the schema.

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

Usage Guidelines4/5

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

'Read one Department by public id' gives a clear context: use this when you need a single department and have its public identifier. It does not explicitly name alternatives or exclusions, but the singular 'one' and the sibling department tools make the appropriate usage evident.

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

yardstick_departments_updateUpdate a department (confirm in Yardstick)C
DestructiveIdempotent
Inspect

Update one Department with schema-bound public API fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
slugNo
request_idNo
descriptionNo
department_idYes
idempotency_keyNo

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already indicate destructive and idempotent behavior, and the description adds no extra behavioral context. It does not explain side effects, reversibility, or the 'confirm' workflow hinted at in the title, leaving the agent without critical operational insight.

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

Conciseness3/5

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

The description is short and front-loaded with the core action, but 'schema-bound public API fields' is low-value filler that could be removed. It is not overly verbose, but it lacks meaningful content that would justify its place.

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

Completeness2/5

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

For a destructive update tool with six parameters and no output schema, the description is far too sparse. It does not clarify the confirmation workflow hinted at in the title, nor any preconditions, side effects, or expected results, leaving significant gaps for an agent.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain any of the six parameters. The phrase 'schema-bound public API fields' is unhelpful filler; the agent must rely solely on parameter names in the schema, which is insufficient for correct invocation.

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

Purpose4/5

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

The description clearly states the action ('Update one Department'), which distinguishes it from create/list/read siblings. However, the phrase 'schema-bound public API fields' is vague and adds no specific detail about what fields are updatable, though the schema lists them.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like create or other department tools. The verb 'Update' implies modifying an existing department, but no prerequisites, exclusions, or alternative conditions are mentioned.

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

yardstick_email_automation_settings_readRead email automation settingsC
Read-onlyIdempotent
Inspect

Read candidate email automation settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo

TDQS

C2.7/5.0
Behavior3/5

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

The description matches annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false) and adds no contradictory claims. However, it adds no behavioral context beyond what the annotations already establish, so it provides only baseline adequacy.

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

Conciseness4/5

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

The description is a single short sentence with no filler and the main verb is front-loaded. It is concise, though it is concise to the point of omitting useful context.

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

Completeness2/5

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

There is no output schema, no explanation of return values, no parameter semantics, and no distinction from closely related email-settings read tools. An agent cannot confidently infer what will be returned or how request_id affects the result.

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

Parameters1/5

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

Schema description coverage is 0%, and the only parameter, request_id, is optional and undocumented. The description never mentions request_id or explains when or why an agent would supply it, so the agent gets no assistance beyond the bare property name.

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

Purpose4/5

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

The description uses a specific verb ('Read') and identifies the resource as 'candidate email automation settings.' It is clearly a read operation and is distinguishable from the sibling update tool by the read/write split, though it does not explicitly name or contrast any sibling.

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

Usage Guidelines2/5

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

No guidance is given for when to use this tool versus the update tool or other email settings reads like yardstick_email_sender_settings_read. The read-only nature is implied by the verb but no exclusions or alternative conditions are provided.

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

yardstick_email_automation_settings_updateUpdate email automation settingsC
DestructiveIdempotent
Inspect

Update candidate email automation settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
idempotency_keyNo

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, but the description adds no behavioral context—it does not explain that updates may overwrite existing settings, nor does it mention the idempotency_key's role. The description carries no extra value beyond the annotations.

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

Conciseness2/5

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

The description is a single generic sentence that is terse but not concise in a helpful way—it omits essential information. It is under-specified rather than efficiently structured.

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

Completeness1/5

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

For a mutation tool with destructiveHint=true and no output schema, the description is severely incomplete. It lacks any explanation of the settings being updated, how to provide them, or what the request_id and idempotency_key are for. An agent cannot correctly invoke this tool based on the description alone.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not mention either parameter (request_id, idempotency_key). It fails to explain what these parameters do or how to specify the actual settings to update, leaving the agent without critical usage information.

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

Purpose4/5

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

The description states a clear verb (update) and resource (candidate email automation settings), which is specific and distinguishes it from the read counterpart. It does not explicitly name sibling alternatives, but the verb and resource make the purpose unambiguous.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. While the read sibling is obvious, the description provides no context about when updates are needed, prerequisites, or exclusions.

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

yardstick_email_drafts_discardDiscard a candidate email draftC
DestructiveIdempotent
Inspect

Discard a pending candidate email draft without provider mutation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
request_idNo
idempotency_keyNo

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, but the description adds minimal context: it says 'without provider mutation', which is somewhat counterintuitive given destructiveHint. There is no mention of what happens to the draft, whether it is recoverable, or what the response is. The description does not contradict annotations but does little to explain the behavior beyond the annotations.

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

Conciseness4/5

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

The description is a single sentence, concise and front-loaded with the primary action and resource. However, it is too brief given the lack of parameter documentation, but as far as structure, it is adequate.

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

Completeness2/5

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

The tool has three parameters, no output schema, no enums, and annotations carry only basic hints. The description does not explain the state of the draft, the effect of discarding, or the idempotency implications. Given the complexity of a destructive action with idempotency keys, more context is expected.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explain any of the three parameters. The id, request_id, and idempotency_key are defined only by their names and types, which is insufficient. The description should clarify that id identifies the draft and that request_id and idempotency_key are optional for idempotency, but it does not.

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

Purpose4/5

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

The description states a specific action (discard), a specific resource (candidate email draft), and the state (pending). It distinguishes from siblings like send, update, and list by focusing on discarding. It does not explicitly mention the alternative tools for discarding (e.g., a delete or discard action) but the verb is clear.

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

Usage Guidelines3/5

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

The description implies usage when discarding a pending draft, but provides no when-to-use guidance such as prerequisites (e.g., draft must be pending, not sent) or alternatives (e.g., use update to modify instead). There is no mention of when not to use.

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

yardstick_email_drafts_historyRead candidate email draft historyB
Read-onlyIdempotent
Inspect

Read candidate email draft history and provenance.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
request_idNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already cover the read-only, non-destructive, idempotent behavior, so the bar is lower. The description adds only the vague 'history and provenance' notion, but does not disclose what the returned history contains, how far back it goes, or how versions are represented.

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

Conciseness4/5

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

The description is a single compact, front-loaded sentence with no filler. It is concise, though the brevity comes at the cost of parameter and usage detail.

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

Completeness2/5

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

For a tool with two parameters and no output schema, the description is too thin. It omits parameter semantics, return format, and any guidance distinguishing it from related email draft tools, so an agent may not call it correctly without external inference.

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

Parameters2/5

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

Schema description coverage is 0%, and the description provides no parameter guidance. It does not clarify whether 'id' is a draft identifier or candidate identifier, nor what the optional 'request_id' means or how it affects results.

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

Purpose4/5

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

The description states a specific action ('Read') and resource ('candidate email draft history and provenance'), making the tool's general purpose clear. It does not explicitly differentiate itself from sibling tools like yardstick_email_drafts_read or yardstick_email_drafts_list, but the 'history' scope is enough to distinguish it at a basic level.

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

Usage Guidelines3/5

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

The word 'history' implies when this tool is appropriate: when an agent needs historical versions or provenance rather than the current draft. However, the description does not explicitly name alternatives or state when not to use this tool, leaving the routing decision mostly to inference.

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

yardstick_email_drafts_listList candidate email draftsB
Read-onlyIdempotent
Inspect

List candidate email drafts with optional status and email-type filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
statusNo
email_typeNo
request_idNo
starting_afterNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds no behavioral context beyond that, such as whether filters are combined with AND/OR, default ordering, or pagination behavior. Since annotations carry the safety burden and the description does not contradict them, a 3 is appropriate – it adds minimal but not insufficient value.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the action and resource, then mentions the optional filters. There is zero waste; every word contributes to the meaning. It is appropriately concise for a simple listing operation.

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

Completeness2/5

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

Given the absence of an output schema and 0% schema coverage, the description leaves critical details unstated: pagination via starting_after, limit behavior, what 'candidate' means in this domain, and the return format. The tool is not fully self-contained; an agent would need additional context or documentation to use it correctly beyond a basic list call.

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

Parameters2/5

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

With 0% schema description coverage, the description must compensate for all five parameters. It only mentions 'status' and 'email-type' filters, leaving 'limit', 'starting_after', and 'request_id' undocumented. The description does not explain pagination, default limits, or the role of request_id, so an agent cannot correctly invoke the tool with full parameter awareness.

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

Purpose4/5

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

The description clearly states the action 'List' and the resource 'candidate email drafts'. It distinguishes from sibling tools by the verb 'list' versus 'send', 'update', 'preview', etc., though it does not explicitly name alternatives. The purpose is unambiguous and specific enough for an agent to understand the core function.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus other email draft tools (e.g., read, preview, send). It does not mention any context like 'use this to see all drafts' or 'when you need a collection of drafts'. There is no mention of alternatives or when not to use it, leaving the agent to infer usage from the verb alone.

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

yardstick_email_drafts_previewPreview a candidate email draftA
Read-onlyIdempotent
Inspect

Read rendered preview content for a candidate email draft.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
request_idNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructive false, so the safety profile is covered. The description adds that the operation returns 'rendered preview content' rather than raw draft metadata, but it doesn't explain response format or error behavior. It does not contradict annotations.

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

Conciseness4/5

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

A single eight-word sentence with no filler. The main action and object are front-loaded rank. It sacrifices detail for brevity but remains an efficient statement.

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

Completeness3/5

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

For a simple read-only tool, annotations already handle safety, but the description omits parameter purposes and any return/rendering details. Without an output schema, more guidance on what the preview content consists of would improve completeness.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explain the meaning of `id` or `request_id`. While `id` is somewhat self-evident, `request_id` is ambiguous and the description provides no clarification for either parameter.

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

Purpose5/5

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

The description uses the specific verb 'Read' with the object 'rendered preview content,' identifying the exact resource as 'candidate email draft.' This clearly distinguishes it from siblings like yardstick_email_drafts_read and other preview tools by emphasizing rendered output and candidate-specific scope.

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not-to-use guidance is given. The purpose implies it is for previewing a draft before sending, but no alternatives are named or conditions stated.

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

yardstick_email_drafts_readRead a candidate email draftB
Read-onlyIdempotent
Inspect

Read a redacted candidate email draft.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
request_idNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already establish read-only, idempotent, non-destructive behavior, and the description adds the 'redacted' detail, signaling that returned content is masked. It does not explain what is redacted or how request_id affects the response, but the annotation coverage lowers the burden.

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

Conciseness4/5

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

The single sentence is efficient and front-loads the key operation and the redaction trait. It is appropriately short, though it adds only the word 'redacted' beyond the title.

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

Completeness3/5

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

For a simple read operation with strong safety annotations, this is minimally adequate: an agent can infer that id is the draft ID and that the call is safe. But without parameter semantics, sibling differentiation, or output formatting, it leaves meaningful gaps for an agent deciding between read, preview, and history.

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

Parameters2/5

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

The input schema's parameters are bare (id, request_id) with 0% description coverage, and the description does not clarify what these identify or how they relate. Little semantic value is added beyond the parameter names.

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

Purpose4/5

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

The verb 'Read' and resource 'redacted candidate email draft' specify the operation clearly. However, it does not explicitly distinguish itself from sibling tools like email_drafts_preview or email_drafts_history, so some inference is required.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool rather than email_drafts_list, email_drafts_preview, or email_drafts_history. No exclusions, prerequisites, or alternative routing are provided.

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

yardstick_email_drafts_sendSend a candidate emailA
DestructiveIdempotent
Inspect

Send a pending candidate email draft with replay protection, or reclaim a never-delivered draft and send it.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
request_idNo
idempotency_keyNo
reclaim_not_deliveredNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already mark the operation as destructive and idempotent; the description adds value by explaining the replay-protection behavior and the reclaim path for never-delivered drafts. This is consistent with the annotations and clarifies what 'send' entails without contradicting 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.

Conciseness5/5

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

A single two-clause sentence states the core action and the two supported modes with no filler. The main action is front-loaded, and each clause contributes meaning.

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

Completeness3/5

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

The description explains the key behavioral choices (send vs. reclaim) and the replay-protection safeguard, which is enough to select the tool. However, it does not explain the request_id parameter, possible error/return conditions, or any precondition such as a configured sender, and there is no output schema to fill those gaps.

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

Parameters3/5

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

With 0% schema description coverage, the description carries most of the semantic load. 'Replay protection' and 'reclaim a never-delivered draft' clarify the likely purposes of idempotency_key and reclaim_not_delivered, but the description never mentions request_id and leaves the id/draft relationship implicit.

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

Purpose5/5

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

The description opens with 'Send a pending candidate email draft,' giving a specific verb and resource, and outlines a distinct reclaim mode. This clearly separates it from sibling draft tools like yardstick_email_drafts_read or _discard, which serve different purposes.

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

Usage Guidelines4/5

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

It specifies when to use the tool: for pending drafts in the normal path, or for never-delivered drafts via reclaim. It does not explicitly name sibling alternatives or state when not to use it, so it falls short of a 5.

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

yardstick_email_drafts_updateEdit a candidate email draftA
DestructiveIdempotent
Inspect

Save mutable candidate email draft fields or set/clear a validated sender override.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
request_idNo
idempotency_keyNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already mark this as destructive and not read-only. The description adds useful nuance by saying only mutable fields are saved and that sender overrides are validated, but it does not explain side effects, whether fields are cleared when omitted, or other consequences beyond the annotation hints.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. It efficiently communicates the core update operation and the secondary override behavior without wasting words.

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

Completeness2/5

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

With no output schema and no parameter documentation, the description leaves out critical invocation details: which fields can be edited, what the override field is called, and what the response contains. The tool's destructive and idempotent nature is covered by annotations, but the operational payload contract is missing.

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

Parameters2/5

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

Schema description coverage is 0%, and the schema only exposes id, request_id, and idempotency_key. The description mentions 'mutable candidate email draft fields' and a 'sender override' but does not name or explain the payload keys, making it difficult for an agent to construct a correct request. It provides only high-level intent, not operational parameter meaning.

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

Purpose5/5

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

The description clearly states the tool updates/saves mutable candidate email draft fields and can set or clear a validated sender override. This distinguishes it from siblings like email_drafts_read, email_drafts_send, and email_drafts_discard, even without naming them.

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

Usage Guidelines3/5

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

The description implies usage: it is for editing an existing draft, not for sending, discarding, listing, or reading. However, it does not explicitly state when to prefer this over alternatives or mention exclusions, so guidance remains implicit rather than explicit.

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

yardstick_email_sender_connections_listList email sender connectionsB
Read-onlyIdempotent
Inspect

List redacted sender provider connection state.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo

TDQS

B3/5.0
Behavior3/5

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

The annotations already establish that this is read-only, idempotent, and non-destructive. The description adds one useful behavioral detail: the returned connection state is redacted. It does not go further to describe pagination, filtering, or what 'state' includes, so this is solid but not exceptional.

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

Conciseness4/5

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

The entire description is one compact, front-loaded sentence with no filler. It is appropriately terse, though it leaves important context such as request_id behavior unaddressed.

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

Completeness3/5

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

For a simple read-only list operation with rich annotations and only one optional parameter, the tool is mostly usable as-is. However, the absence of any return-shape hints or guidance on what a 'connection state' contains leaves minor but real gaps, and sibling tools are not distinguished.

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

Parameters2/5

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

The input schema has no description for request_id and the tool description never mentions it. With 0% schema coverage, the description should compensate but does not add any parameter meaning; the only mitigating factor is that the parameter is optional.

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

Purpose4/5

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

The description names a specific list operation ('List') over a distinct resource ('sender provider connection state') and adds that the data is redacted. This is clear enough to identify the tool's function, though 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.

Usage Guidelines2/5

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

No guidance is given for when to choose this over nearby email-related tools such as email_sender_defaults_list or email_sender_settings_read. The optional request_id is not explained, and no exclusions, prerequisites, or alternative conditions are mentioned.

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

yardstick_email_sender_defaults_listList default email sendersB
Read-onlyIdempotent
Inspect

List candidate email sender defaults.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so there is no safety contradiction. The description adds the 'candidate defaults' scoping, but does not disclose return shape or whether the optional request_id affects results; this is acceptable but not high-value behavioral detail.

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

Conciseness4/5

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

One short sentence with no filler or repetition of the schema; the action is front-loaded. It could earn a 5 if it used the saved space to clarify 'candidate' or request_id.

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

Completeness3/5

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

This is a simple read-only list with no required parameters and robust hints, so the basic call is fully invokable from the description. However, without an output schema the description does not state what the returned defaults look like or clarify the optional request_id, leaving notable but non-blocking gaps.

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

Parameters2/5

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

Schema description coverage is 0% and the description makes no mention of request_id, so the sole parameter's purpose (correlation ID? filter?) is undocumented. The parameter is optional, which softens the impact, but the description does not compensate for the schema gap.

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

Purpose4/5

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

The description names a concrete verb and resource ('List ... email sender defaults') and is distinguishable from the related siblings (email_sender_connections_list, email_sender_defaults_set, email_sender_settings_read) by focusing on defaults. It could be sharper by explaining what 'candidate' means, 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.

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives. The sibling list includes email_sender_connections_list and email_sender_defaults_set, but the description does not explain the relationship or exclusions, so an agent must infer the appropriate context.

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

yardstick_email_sender_defaults_setSet the default sender for an email typeC
DestructiveIdempotent
Inspect

Set the default sender policy for a candidate email type.

ParametersJSON Schema
NameRequiredDescriptionDefault
email_typeYes
request_idNo
idempotency_keyNo
default_sender_typeYes
org_shared_sender_identity_idNo

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the agent knows the operation is a mutation. The description adds no behavioral context beyond the word 'Set' – it doesn't explain that this overwrites existing defaults, what happens to prior settings, whether permission is required, or the effect of leaving org_shared_sender_identity_id null. No contradiction exists, but the description fails to enhance the annotation-provided safety profile.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler words. Every word contributes to the core purpose, making it maximally concise and easy to parse at a glance.

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

Completeness2/5

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

Given this is a mutation tool with no output schema, five parameters, and a destructive annotation, the description is insufficiently complete. It fails to address usage context, parameter interplay, side effects, or what happens after invocation, leaving the agent with significant ambiguity despite the annotations and enum schemas.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not mention or explain any parameters. The dependencies between default_sender_type and org_shared_sender_identity_id, the meaning of enum values like 'org_shared' vs 'owner', and the relevance of request_id and idempotency_key are all left undocumented. The description does not compensate for the schema's lack of semantic detail.

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

Purpose4/5

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

The description clearly identifies a specific action ('Set') and a distinct resource ('default sender policy for a candidate email type'), making the tool's core function evident. However, it does not explicitly differentiate this tool from its sibling 'yardstick_email_sender_defaults_list' or other email-related tools, relying on the verb/resource contrast alone.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, when not to use it, or any prerequisites such as needing an existing sender connection. The sibling tools like 'yardstick_email_sender_defaults_list' and 'yardstick_email_sender_settings_read' are not referenced, leaving the selection decision entirely to the agent's inference.

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

yardstick_email_sender_settings_readRead email sender settingsB
Read-onlyIdempotent
Inspect

Read redacted email sender settings with sanitized queue diagnostics.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description's job is lighter. It adds value by promising redacted settings and sanitized queue diagnostics, telling the agent that sensitive values will be masked. This is useful behavioral context beyond the annotations.

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

Conciseness5/5

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

A single sentence with no filler. The redaction and sanitization qualifiers are front-loaded and add meaningful information without repetition.

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

Completeness3/5

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

Annotations cover the safety profile and the description conveys the high-level return value, so the tool is mostly usable. It falls short by not explaining the optional request_id or the shape of queue diagnostics, and with no output schema those details are absent.

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

Parameters2/5

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

Schema coverage is 0% and the description never mentions request_id, the only parameter. The parameter name hints that it identifies a request, but its role relative to settings and queue diagnostics is left unexplained, so the description does not compensate for the schema gap.

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

Purpose4/5

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

States a specific verb ('Read') and resource ('email sender settings'), and adds redaction/sanitization detail that characterizes the output. It is not a tautology, though it does not explicitly distinguish this tool from nearby siblings like email_sender_defaults_list or email_sender_connections_list.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives such as email_sender_defaults_list, email_sender_connections_list, or email_automation_settings_read. The read-only usage is implied but no exclusions or alternatives are provided, leaving routing to inference.

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

yardstick_email_templates_listList candidate email templatesB
Read-onlyIdempotent
Inspect

List candidate email template policies without raw prompts.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds the useful behavioral note that the returned list contains policies but not raw prompts, which is beyond the annotations. It does not disclose pagination, return shape, or ordering, but for a read-only list this is a moderate gap.

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

Conciseness5/5

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

The description is a single efficient sentence that front-loads the verb and resource and includes a meaningful exclusion. Every word earns its place.

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

Completeness3/5

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

For a simple one-optional-parameter list tool with readOnly annotations, the description covers the basic purpose and a key exclusion. But there is no output schema, so the agent would benefit from knowing what fields the returned policies contain and whether the optional request_id changes the response. It is adequate but not complete.

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

Parameters2/5

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

There is one optional request_id parameter and the schema description coverage is 0%, so the description must compensate. It does not mention request_id at all, leaving the agent to guess what it filters or selects. The schema provides only the name, type, and minLength, which is not enough to use the parameter correctly.

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

Purpose4/5

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

The description states a clear action ('List') and resource ('candidate email template policies'), and adds a distinguishing caveat ('without raw prompts') that separates it from tools like email_templates_read or preview. However, it doesn't name a sibling explicitly, and 'candidate' could be read as either candidate-related or pending, 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.

Usage Guidelines3/5

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

The phrase 'without raw prompts' implicitly tells the agent that raw prompt content is not included, which suggests using read/preview tools when that content is needed. But there is no explicit when-to-use guidance or named alternative, so the guidance is only implied.

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

yardstick_email_templates_previewPreview a candidate email template with sample dataD
Idempotent
Inspect

Preview a candidate email template for sample variables.

ParametersJSON Schema
NameRequiredDescriptionDefault
email_typeYes
request_idNo
idempotency_keyNo

TDQS

D1.6/5.0
Behavior1/5

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

The description claims a 'preview' action, which typically implies no state changes, but the annotations set readOnlyHint to false, indicating the tool may modify state. This is a direct contradiction. The description adds no further behavioral context beyond the annotations, and the contradiction undermines trust.

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

Conciseness2/5

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

The description is a single short sentence, which is concise, but it is under-specified to the point of vagueness. Brevity is not useful when it omits essential information; the sentence does not earn its place because it adds little value over the tool name and title.

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

Completeness1/5

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

The tool has 3 parameters (1 required), no output schema, and minimal annotations. The description should clarify what the preview returns, how sample variables are populated, and how email_type influences the preview. None of this is provided, leaving the tool severely under-specified for an agent to call correctly.

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

Parameters1/5

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

With schema description coverage at 0%, the description must explain the parameters, but it only mentions 'sample variables' without clarifying the role of email_type, request_id, or idempotency_key. The enum values for email_type are not explained, and the optional parameters are completely unaddressed.

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

Purpose3/5

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

The description states the verb 'preview' and the resource 'email template', so the core action is identifiable. However, the phrase 'for sample variables' is vague and does not clarify what 'candidate' means or how it differs from other preview tools like yardstick_email_templates_preview_customization. It lacks specificity to distinguish it from siblings.

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

Usage Guidelines1/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention any conditions, prerequisites, or related preview tools. An agent is left without context for selecting this tool over the many other preview tools in the sibling list.

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

yardstick_email_templates_preview_customizationPreview AI customization for an email template (nothing published)B
Idempotent
Inspect

Preview AI sample customization for a candidate email template without publishing.

ParametersJSON Schema
NameRequiredDescriptionDefault
email_typeYes
request_idNo
idempotency_keyNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already provide idempotentHint=true and destructiveHint=false. The description adds the no-publishing boundary and clarifies that the result is an AI-generated sample, which is useful. It does not, however, disclose what happens during preview, whether any non-published state is created, or what the output contains.

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

Conciseness5/5

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

One direct sentence front-loads the operation and the critical 'without publishing' caveat. There is no filler or redundant detail, and the structure is immediately scannable.

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

Completeness3/5

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

For a simple tool with one required enum parameter, the description covers the basic non-publishing contract. But with no output schema, no parameter guidance, and no routing to related email template tools, an agent still has meaningful gaps for fully correct invocation.

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

Parameters2/5

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

The schema description coverage is 0% and the description never mentions email_type, request_id, or idempotency_key. The enum values help, but the text does not explain how email_type selects the template or what request_id and idempotency_key are for, so it fails to compensate for the schema coverage gap.

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

Purpose4/5

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

The description names a specific action ('Preview'), a specific object ('AI sample customization for a candidate email template'), and the key boundary ('without publishing'). It is clear enough to separate it from publishing or destructive template actions, though it does not explicitly distinguish it from the similarly named yardstick_email_templates_preview sibling.

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

Usage Guidelines3/5

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

The description conveys a preview context and the 'without publishing' constraint, so an agent can infer this is a pre-publish step. However, it does not name alternatives such as email_templates_publish, email_templates_validate, or email_templates_preview, nor does it give an explicit when-to-use versus other preview tools.

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

yardstick_email_templates_publishPublish a candidate email template versionC
Destructive
Inspect

Publish a validated candidate email template version.

ParametersJSON Schema
NameRequiredDescriptionDefault
email_typeYes
request_idNo
idempotency_keyNo

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already mark this as destructive and non-idempotent, and the description does not contradict them. However, beyond the 'validated candidate' precondition, it does not disclose what publishing changes, whether it replaces an existing version, or how reversible it is.

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

Conciseness4/5

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

The description is a single short sentence, front-loaded with the action verb and containing no filler. It under-specifies, but that is a completeness issue rather than a conciseness or structure issue.

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

Completeness2/5

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

For a destructive, non-idempotent publish operation with no output schema, the definition omits the effect on the current template, the prerequisite workflow, and parameter semantics. Sibling tools suggest a validate-publish-rollback lifecycle, but this description does not connect to it.

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

Parameters1/5

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

Schema description coverage is 0% and the description mentions no parameters. The agent gets no explanation of how email_type, request_id, or idempotency_key should be used; the parameter names and enum values alone are insufficient.

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

Purpose4/5

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

The description uses a specific verb, 'publish', and names the resource, 'validated candidate email template version', which distinguishes it from siblings like validate, rollback, and preview. It lacks clarity about the resulting state, such as making the version active, but the core operation is identifiable.

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

Usage Guidelines2/5

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

The description gives no explicit guidance on when to use this tool versus email_templates_validate or email_templates_rollback. The word 'validated' hints at a possible precondition, but no alternatives, exclusions, or workflow ordering are stated.

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

yardstick_email_templates_readRead a candidate email templateA
Read-onlyIdempotent
Inspect

Read candidate email template detail without raw prompts.

ParametersJSON Schema
NameRequiredDescriptionDefault
email_typeYes
request_idNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already mark this as readOnly, idempotent, and non-destructive, so the safety profile is covered. The description adds one useful caveat—raw prompts are excluded from the returned detail—but says nothing about response shape, permissions, or how request_id affects results. No contradiction with annotations.

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

Conciseness5/5

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

Eight words, one sentence, no filler; the key qualifier is front-loaded. This is appropriately brief for a simple read operation.

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

Completeness2/5

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

Despite low tool complexity and helpful annotations, the 0% schema coverage and absent output schema leave request_id semantics and the exact shape of 'detail' undocumented. An agent can call it for the required enum, but cannot predict what will be returned or how to use request_id reliably.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the burden, but it mentions neither email_type nor request_id. The email_type enum is self-explanatory, but request_id's role is completely unexplained, and 'without raw prompts' does not clarify parameter meanings.

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

Purpose5/5

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

The description names a specific operation ('Read') and resource ('candidate email template detail') and adds the qualifier 'without raw prompts,' which distinguishes it from preview-style siblings. This is more specific than the title alone and gives an agent a clear sense of the tool's scope.

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

Usage Guidelines3/5

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

The description implies the tool is for reading template detail excluding raw prompts, but it never names an alternative or states when to prefer this over list/preview/customization siblings. There is a clear contextual signal, but no explicit when/when-not routing.

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

yardstick_email_templates_rollbackRoll a candidate email template back to an earlier versionB
DestructiveIdempotent
Inspect

Rollback a candidate email template to an immutable version.

ParametersJSON Schema
NameRequiredDescriptionDefault
email_typeYes
request_idNo
version_idYes
idempotency_keyNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is covered. The description adds that the target must be an 'immutable version,' which clarifies the required kind of version_id, but it does not state what happens to the current template or whether published templates are affected. This is minimal but acceptable given the annotations.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no filler. It states the action, resource, and target immediately and is appropriately sized for a simple rollback operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive rollback with 0% schema coverage and no output schema, the description is too thin. It omits how to obtain an immutable version_id, what the email_type enum represents, and what side effects occur beyond the generic destructiveHint. A reference to email_template_versions_list or the publish/update workflow would make it complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain email_type, version_id, request_id, or idempotency_key. It only loosely maps 'candidate email template' to email_type and 'immutable version' to version_id. An agent cannot determine what the email_type enum values mean or how version_id is obtained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific action verb ('rollback') with a clear resource ('candidate email template') and a clear target ('immutable version'). This is enough to distinguish it from sibling template tools such as list, read, publish, validate, and update, so an agent can select it without inspecting the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to roll back versus updating, publishing, or validating a template. There are no prerequisites, exclusions, or references to alternatives like email_template_versions_list for finding the version_id. The intended context is only implied by the operation name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_email_templates_validateCheck a candidate email template for problemsC
Idempotent
Inspect

Validate candidate email template subject, HTML, and text bodies.

ParametersJSON Schema
NameRequiredDescriptionDefault
email_typeYes
request_idNo
idempotency_keyNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as idempotent and non-destructive, but the description adds no behavioral detail beyond the verb 'Validate'. It does not explain what happens on success or failure, whether anything is persisted, or what kind of problem report is returned. readOnlyHint is false, adding ambiguity about side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no filler, but it is under-specified. It front-loads the main action, yet omits parameter and usage information that the sentence could have reasonably included.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, low schema coverage, and no annotation depth on behavior, this description leaves major gaps: the return format, what constitutes a validation problem, and the meaning of request_id and idempotency_key are all absent. It is a minimally viable starting point but not complete enough for reliable agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any of the three parameters. The required email_type is not contextualized despite its enum values, and request_id and idempotency_key are completely undocumented, leaving an agent to guess their purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Validate') and resource ('candidate email template') and even names the key facets checked: subject, HTML, and text bodies. This distinguishes it from nearby siblings like preview, read, or publish, though it does not explicitly name an alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to call validate versus preview, publish, or rollback, nor any prerequisites or workflow context. The word 'candidate' hints at pre-publish validation, but that 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.

yardstick_email_template_versions_listList email template versionsC
Read-onlyIdempotent
Inspect

List immutable candidate email template versions.

ParametersJSON Schema
NameRequiredDescriptionDefault
email_typeYes
request_idNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the 'immutable' property and narrows the resource to candidate email template versions, but it does not disclose return shape, pagination, ordering, or any filtering behavior beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely brief and front-loaded, with every word contributing to the core purpose. It is easy to parse, though the brevity comes at the cost of useful context about usage and parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, no parameter descriptions, and no usage guidance, and the description does not clarify how this tool relates to the many sibling email-template tools. Given the close siblings and the 0% schema description coverage, this description is not sufficient for an agent to confidently select and invoke the tool without additional inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for explaining the parameters, but it does not mention email_type or request_id at all. The schema provides enums and basic types, yet the description adds no meaning about what these parameters do or how they affect the listed versions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action ('List') and the resource ('immutable candidate email template versions'), which is more specific than the title. However, it does not explicitly differentiate this tool from the similarly named sibling yardstick_email_templates_list or email_drafts_history, leaving some ambiguity about which list to use.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as email_templates_list, email_templates_read, or email_drafts_history. The description does not state what distinguishes 'candidate email template versions' from other email template operations, so an agent must infer the appropriate context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_events_listList API eventsB
Read-onlyIdempotent
Inspect

List public Yardstick API events visible to the current principal.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
request_idNo
starting_afterNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the visibility scope ('visible to the current principal'), but it does not disclose pagination behavior, ordering, event types, or return format, which would be useful for a list operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly worded sentence that front-loads the core action and resource. There is no filler, redundancy, or unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a simple read-only list operation with no required parameters and strong annotation coverage, so the description does not need to be long. However, with no output schema and no mention of pagination or what an 'event' contains, an agent may still be uncertain about the response shape and listing semantics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no parameter-specific explanation. The parameter names 'limit', 'starting_after', and 'request_id' are somewhat self-explanatory, but the description does not compensate for the missing schema descriptions or clarify semantics like pagination cursors.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'List public Yardstick API events', and adds a scope qualifier ('visible to the current principal'). This is clear and distinct from generic list tools, though it does not explicitly differentiate itself from similar siblings like yardstick_audit_log_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives such as yardstick_audit_log_list or other list endpoints. It only states what the tool does, leaving usage decisions entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_final_recommendation_recordRecord a final hiring recommendationB
DestructiveIdempotent
Inspect

Record direct final-recommendation evidence; this does not mutate application status.

ParametersJSON Schema
NameRequiredDescriptionDefault
notesNo
ratingYes
request_idNo
session_idNo
application_idYes
idempotency_keyNo
interviewer_user_idYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=true, so the bar is lower. The description adds one useful behavioral fact: despite being a mutation, it does not change application status. It does not disclose broader side effects, such as whether the recommendation overwrites prior evidence or affects downstream decision processes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short sentence split into two clauses. It front-loads the action and resource, then adds a scoping clarification. Every word contributes; there is no filler or repetition of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given seven parameters, no output schema, a destructiveHint=true annotation, and a large sibling set, this description is too thin. It gives no guidance on expected outcome, return value, rating scale semantics, idempotency behavior beyond the annotation, or how this tool fits into the hiring workflow. A capable agent could call it, but would be guessing at workflow context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden of explaining parameters. It adds no meaning for application_id, interviewer_user_id, rating, notes, request_id, session_id, or idempotency_key. The schema property names are somewhat self-explanatory, and rating has min/max, but the description does not clarify semantics such as what 'rating' represents or which identifiers are required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Record') and resource ('direct final-recommendation evidence'), and adds a scope qualifier ('does not mutate application status') that distinguishes it from transition/bind siblings. It is slightly jargon-heavy ('direct...evidence'), 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies this tool is for recording final recommendation evidence, and the 'does not mutate application status' clause provides a useful boundary against status-changing tools. However, it does not explicitly state when to prefer this over related tools like decision bind/preview or scorecard submission, nor does it name alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_identityRead the current API identityB
Read-onlyIdempotent
Inspect

Return the current Yardstick API principal context.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds 'principal context' but does not elaborate on behavior, return format, or any additional side effects. Since annotations cover the main transparency needs, a score of 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that is front-loaded with the verb and resource. There is no wasted wording, and it is appropriately concise for a simple read operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the tool is simple and annotations cover safety, the description lacks any explanation of the 'principal context' or the 'request_id' parameter. For a minimal tool this might be sufficient, but a bit more detail would make it fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not mention the 'request_id' parameter at all. With zero compensation in the description, the parameter's purpose and usage remain unclear, which is a significant gap even for an optional parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Return' and the resource 'current Yardstick API principal context,' which accurately reflects the tool's name and title. It is distinct from sibling tools, as no other tool appears to handle API identity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used to check the current API identity/context, but it does not explicitly state when to use it or mention any alternatives. For a simple standalone read tool, the lack of explicit guidance is acceptable but not ideal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_integrations_workspace_health_readCheck workspace integration healthC
Read-onlyIdempotent
Inspect

Read sanitized Workspace integration health diagnostics.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description's 'Read' is consistent with those. The description adds the detail of 'sanitized,' which hints that output is redacted, but it does not describe what health diagnostics are included or what error conditions might occur. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly worded sentence with no filler. It leads with the action and object, making it immediately scannable. It earns its place despite being terse, though its brevity contributes to the lack of parameter transparency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only health tool, annotations cover safety, but the description still leaves out critical invocation details. The `request_id` parameter is undocumented, there is no output schema to explain the response, and the description gives no sense of what 'health diagnostics' specifically contains. An agent cannot confidently call this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema defines a single optional `request_id` parameter with no description, and schema_description_coverage is 0%. The tool description does not mention the parameter at all, so an agent cannot infer its meaning, format, or whether it should be supplied. The description fails to compensate for the lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Read') and resource ('Workspace integration health diagnostics'), and the title reinforces the purpose. The word 'sanitized' adds a useful scope qualifier, and no close sibling tool overlaps with this purpose. It would be a 5 if it explicitly named a sibling alternative, but the absence of any similar tool makes it effectively distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, nor does it state prerequisites, workspace context, or when not to call it. The intended use is only implied by the name and title, which is insufficient for an agent deciding among a large set of tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_add_competenciesAdd competencies to an interview plan draftAInspect

Add competencies to a draft exactly as written — deterministic, no AI generation. Requires confirmed outcomes; the resulting stage must stay within 25 competencies. Optional source_stage {stage: competencies, version} returns 409 when stale.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses valuable behavior beyond annotations: deterministic pass-through, the confirmed-outcomes prerequisite, the 25-competency cap, and the 409 stale-version error on source_stage. These are concrete side effects and failure conditions that the schema and annotations do not convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with no filler; the core behavior is front-loaded, and every clause adds constraint or error information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a write tool with no output schema, the description covers prerequisites, limits, deterministic behavior, and an error condition. Nothing essential for an agent to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden. It clarifies source_stage semantics (version check, 409 on staleness) and says items are written exactly as-is, but it does not explain the many item subfields (definition, description, competency, title, details) or how they map to a competency, leaving real ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the specific operation: 'Add competencies to a draft exactly as written' with the clarifying qualifier 'deterministic, no AI generation.' This distinguishes it from sibling tools like generate_competencies and update_competencies without needing to open the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear usage context: this is for adding user-supplied competencies verbatim, and it requires confirmed outcomes before use. It implies the alternative generate_competencies when AI generation is wanted, but does not name that sibling explicitly or state exclusions such as when to use add_skills or add_questions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_add_questionsAdd questions to a draft interview roundAInspect

Add questions to one draft round exactly as written — deterministic, no AI generation. Requires rounds; each round holds at most 50 questions. The first question edit on a round persists question_N ids for every question in that round. Optional source_stage {stage: questions_and_directions, version} returns 409 when stale.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds several important behavioral details beyond the annotations: deterministic execution (no AI generation), the 50-question round limit, the persistence of question_N IDs on the first edit, and the 409 stale response for optional source_stage. It does not contradict annotations. It could mention whether questions are appended or replace existing ones, but the disclosed quirks are valuable and non-obvious.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no fluff. The core purpose and key constraints are front-loaded, and the behavioral nuances (ID persistence, staleness) are concisely presented. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with nested parameters and no output schema, the description covers the main usage context: deterministic addition, round prerequisites, question limits, and concurrency behavior. It does not describe the response shape or explicitly state whether questions are appended vs. replaced, but the schema and sibling tool names provide enough surrounding structure. Overall, it is adequate with minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It explains the purpose of source_stage (stale check) and the round_id requirement, plus the 50-question limit. However, it leaves parameters like guidance, followUpQuestions, tags, and id without explicit semantics — although their names are self-explanatory, the description does not fully compensate for the zero schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Add') and resource ('questions to one draft round'), immediately distinguishing it from siblings like add_competencies, add_skills, and update_questions. The phrase 'exactly as written' adds precision about the behavior. It is clear what this tool does and how it differs from related tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states that this is for deterministic, non-AI question addition, implying it is the manual counterpart to generate_questions_directions. It also gives concrete constraints ('Requires rounds', 'at most 50 questions') that indicate preconditions. It does not explicitly name alternative tools or state when not to use it, but the context is clear enough for an agent to choose correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_add_roundsAdd interview rounds to an interview plan draftAInspect

Add interview rounds to a draft exactly as written — deterministic, no AI generation. Requires skills; the resulting sequence must stay within 20 rounds. Optional source_stage {stage: interview_sequence, version} returns 409 when stale.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations, it discloses key behavior: no AI generation, the skills prerequisite, the hard 20-round sequence limit, and the 409 stale response when source_stage.version is outdated. These are exactly the behavioral details an agent needs and annotations do not provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one dense, front-loaded sentence with no filler. The core action and deterministic behavior come first, followed by prerequisite, limit, and concurrency behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The key constraints, prerequisite, and stale-error behavior are covered, which is most of what an agent needs to invoke this mutating tool correctly. There is no output schema and the description does not state the response shape, and the many items fields are left unexplained, so completeness has clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description only explains source_stage's stale-version behavior and the sequence limit. It does not explain what belongs in items, what fields like duration, recommendedQuestionCount, or interviewerGuidance mean, or how required action/resource should be filled. The description does not compensate for the schema's missing descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Add interview rounds to a draft exactly as written') on a specific resource (interview plan draft) and immediately distinguishes it from AI-generation tools by saying 'deterministic, no AI generation'. This clearly separates it from siblings like generate_rounds without requiring schema inspection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear context: use when you have exact rounds to add deterministically, requires skills, and must respect a 20-round resulting sequence. It does not explicitly name sibling alternatives or state 'do not use generate_rounds', but the deterministic/no-AI contrast provides a usable routing signal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_add_skillsAdd job skills to an interview plan draftAInspect

Add job skills to a draft exactly as written — deterministic, no AI generation. Requires competencies; the resulting stage must stay within 50 skills. Optional source_stage {stage: skills, version} returns 409 when stale.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare non-read-only and non-idempotent, but the description adds essential behavior: writes are exact and deterministic, prerequisites exist (competencies), a hard limit of 50 skills applies, and stale source_stage versions trigger a 409. No contradiction with annotations; it supplements them with concrete constraint and failure details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The entire description fits in three short sentences, with the core purpose front-loaded and constraints packed efficiently. Every clause adds information without repetition or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with nested objects and no output schema, the description covers key constraints and conflict behavior, but omits item field semantics and failure modes (e.g., what happens if competencies are absent or the 50-skill limit is exceeded). It is adequate for a simple call but leaves ambiguity for complex inputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must clarify parameter meaning. It explains source_stage's shape and staleness behavior, and conveys that items are written verbatim. However, it does not describe the individual item fields (id, name, skill, title, details, category, description, requirement) that appear in the schema, leaving their semantics and required combinations ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Add job skills to a draft' and then qualifies it with 'exactly as written — deterministic, no AI generation', making the tool's purpose unmistakable and separating it from sibling generate_skills. It also distinguishes from update, delete, and clear tools on the same draft resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description supplies usage preconditions: 'Requires competencies' and 'the resulting stage must stay within 50 skills'. It also describes the optional source_stage parameter and warns about a 409 on stale versions. It implies the alternative of generate_skills through the 'no AI generation' clause, but does not explicitly name sibling tools or state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_clear_competenciesClear all draft competencies, leaving the section emptyA
DestructiveIdempotent
Inspect

Clear every competency from a draft, leaving the stage deliberately empty — deterministic, no AI generation. Prunes the behavioral anchors of every cleared competency in the same write and reports the pruned ids. The emptied draft cannot be published as a new plan; bind the emptying onto an already-live plan with modify_active. Optional source_stage {stage: competencies, version} returns 409 when stale.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond annotations by disclosing that the operation is deterministic, prunes behavioral anchors in the same write, reports the pruned ids, and makes the draft unpublishable as a new plan. It also explains the 409 stale-version behavior. This adds substantial behavioral context beyond readOnly/destructive/idempotent hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no filler. The primary action is front-loaded, and each sentence adds a distinct, useful fact: determinism, anchor pruning, publication restriction, and staleness behavior. It is dense but appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive draft-mutation tool with no output schema, the description is unusually complete: it covers the operation, side effects, returned information, publication constraints, the recommended alternative, and the stale version failure mode. An agent has enough to call it correctly and avoid the main pitfalls.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden. It usefully explains source_stage semantics and its stale-version 409 behavior. However, it does not clarify what happens when source_stage is omitted, and it does not add meaningful explanations for request_id or idempotency_key, though those are standard and partly self-evident.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: 'Clear every competency from a draft' and adds the key distinction 'deterministic, no AI generation.' It clearly separates this from generate_competencies and delete_competencies siblings by emphasizing it clears all competencies and prunes anchors, not just individual ones.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit usage context: the emptied draft cannot be published as a new plan, and the intended alternative path is to 'bind the emptying onto an already-live plan with modify_active.' It also warns about the stale source_stage returning 409. It does not explicitly contrast with delete_competencies for partial removal, but the guidance is clear enough for most selection decisions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_clear_interview_sequenceClear all draft interview rounds, leaving the section emptyA
DestructiveIdempotent
Inspect

Clear every interview round from a draft, leaving the stage deliberately empty — deterministic, no AI generation. Prunes the questions and directions of every cleared round in the same write and reports the pruned round ids. The emptied draft cannot be published as a new plan; bind the emptying onto an already-live plan with modify_active. Optional source_stage {stage: interview_sequence, version} returns 409 when stale.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite annotations already marking this as destructive and idempotent, the description adds substantial behavioral detail: it prunes questions and directions in the same write, reports pruned round ids, and clarifies that the operation is deterministic with no AI generation. It also discloses the post-condition (cannot publish as new plan) and the concurrency failure mode (409 when stale). This goes well beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences pack the core purpose, side effects, constraints, and a parameter caveat with zero fluff. The most critical information (what it does and that it's deterministic) is front-loaded, followed by consequences and the optional parameter behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive tool with no output schema, the description covers the key facts: what gets cleared, what is pruned, what is reported, the publish restriction, and the stale-version outcome. It does not detail the exact response envelope, but 'reports the pruned round ids' gives enough for an agent to expect a list. The sibling context and annotations round out the picture.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the burden. It explains the 'source_stage' parameter's purpose and behavior (returns 409 when stale) and adds context about the write scope. The action and resource constants are self-explanatory from the schema, so the description compensates for the missing schema descriptions without redundancy.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Clear every interview round from a draft'), identifies the resource (an interview plan draft), and clarifies its scope ('every interview round' vs. individual rounds). It also distinguishes itself from AI-generation tools by noting 'deterministic, no AI generation,' making it clear which sibling it is not.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides important usage context, including the consequence that an emptied draft cannot be published and the alternative path of binding it to a live plan via 'modify_active.' It also warns about the stale-version 409 behavior with 'source_stage.' It doesn't explicitly name sibling tools like 'delete_rounds' for when to use this over those, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_clear_job_skillsClear all draft job skills, leaving the section emptyA
DestructiveIdempotent
Inspect

Clear every job skill from a draft, leaving the stage deliberately empty — deterministic, no AI generation. The item delete refuses to remove the last skill, so this is the only way to record that the section was addressed and left empty. The emptied draft cannot be published as a new plan; bind the emptying onto an already-live plan with modify_active. Optional source_stage {stage: skills, version} returns 409 when stale.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark destructiveHint and idempotentHint, but the description adds key behavioral traits beyond those: it is deterministic (no AI generation), it is the only way to record an intentionally-empty skills section, and a stale source_stage yields 409. The warning that a cleared draft cannot be published as a new plan is critical context not present in structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences with no filler: the core action is front-loaded, then the reason, then the caveats. Every sentence earns its place—the delete limitation, the publish restriction, and the source_stage concurrency behavior are all decision-relevant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutating clear operation, the description covers the key decision points: when to use it, what happens to the draft (can't publish), how to apply to live plans, and concurrency behavior. No output schema exists, but the invocation behavior is fully described and the effect is a deliberate clearing, so nothing is missing for correct selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden. It explains the only non-obvious parameter, source_stage, including the stage const and the version-staleness 409 behavior. The generic wrapper parameters (action, resource, input) are self-evident from the schema consts/patterns, so the description adds meaning where it matters most.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('clear') and resource ('every job skill from a draft') plus the resulting state ('leaving the stage deliberately empty'). It distinguishes itself from sibling delete_skills by citing that delete refuses the last skill, and from generate_skills by asserting it is deterministic with no AI generation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly names the alternative (delete) and explains the condition that makes this tool necessary: the delete refuses to remove the last skill. It also adds a workflow rule—the emptied draft cannot be published as a new plan—and directs the agent to modify_active for live plans, leaving no ambiguity about when to use this vs alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_clear_outcomesClear all draft outcomes, leaving the section emptyA
DestructiveIdempotent
Inspect

Clear every outcome from a draft, leaving the stage deliberately empty — deterministic, no AI generation. Outcomes have no item-level delete, and confirm_outcomes requires at least one outcome, so this is the only way to record that the section was addressed and left empty. The emptied draft cannot be published as a new plan; bind the emptying onto an already-live plan with modify_active. Optional source_stage {stage: outcomes, version} returns 409 when stale.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond destructiveHint/idempotentHint annotations, the description discloses determinism (no AI generation), the inability to publish an emptied draft as a new plan, and the 409-on-stale behavior of source_stage. This gives the agent a clear safety and lifecycle picture.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences, front-loaded with the core operation and followed by only high-value constraints and routing. There is no filler or repetition of the title/schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive draft-clearing tool, the description covers purpose, alternatives, side effects, publication limitation, and concurrency failure mode. Even without an output schema, an agent has enough to call it correctly and avoid destructive mistakes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, the description compensates for the key business parameter by explaining source_stage's optimistic-concurrency role and 409 outcome. It does not add prose for action/resource or request_id/idempotency_key, but those are standard or fixed by the schema, so the main parameter semantics are covered.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description opens with a specific, distinct action: clear every outcome from a draft and leave the section deliberately empty. It separates itself from clear_competencies/clear_job_skills and from confirm_outcomes/generate_outcomes by naming the section and noting deterministic no-AI behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit conditions for choosing this tool: outcomes have no item-level delete, confirm_outcomes requires at least one outcome, and only this tool can record that the section was addressed and left empty. It also warns that an emptied draft cannot be published as a new plan and points to modify_active, so the agent knows when not to use this path.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_confirm_outcomesConfirm draft hiring outcomesC
DestructiveIdempotent
Inspect

Confirm draft interview-plan outcomes before generating later stages.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate destructiveHint=true and idempotentHint=true, but the description does not explain what 'confirm' does behaviorally—whether it locks the outcomes, overwrites previous confirmations, or triggers irreversible downstream generation. The description adds no context about side effects, permissions, or state changes beyond what the annotations already signal. For a destructive operation, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the action and resource. It is appropriately sized for the tool's purpose, though it could add a bit more context without becoming bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no output schema, 0% parameter coverage, and destructive annotations, the description is too thin. It doesn't explain what happens after confirmation, what the response contains, or how the accepted_outcomes should be structured. An agent would need to infer workflow details from sibling tool names and the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for parameter meaning. The description mentions 'outcomes' but does not explain the required 'accepted_outcomes' array structure, the optional 'source_stage' object, or 'revision_notes'. An agent must open the schema to understand what to pass, and the description adds no semantic guidance about how these parameters relate to the confirmation action.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Confirm draft interview-plan outcomes before generating later stages' clearly states the verb (confirm), the resource (draft interview-plan outcomes), and the purpose (before generating later stages). It distinguishes itself from sibling tools like generate_outcomes and clear_outcomes by indicating this is a confirmation step, though it doesn't explicitly name a sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool: after drafting outcomes and before generating later stages. However, it doesn't explicitly state when not to use it or mention alternatives like generate_outcomes or update_outcomes. The context is clear enough for an agent to infer the workflow position, but lacks explicit exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_delete_anchorsDelete draft scorecard anchorsA
DestructiveIdempotent
Inspect

Delete behavioral-anchor entries for draft items by item id. Optional source_stage {stage: questions_and_directions, version} returns 409 when stale.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=true, so the description doesn't need to restate that. It adds a valuable behavioral detail: 'Optional source_stage ... returns 409 when stale', disclosing a concurrency control behavior not covered by annotations. It does not mention other side effects like cascading deletions or behavior on missing item_ids, but the provided detail is useful beyond the structured data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loading the primary action and then adding the optional parameter behavior. Every word earns its place; there is no fluff or repetition. The structure is efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a delete operation with 5 parameters and nested objects, the description covers the core action and the optional concurrency check. It does not explain what a successful response looks like (no output schema exists), but that is not required. It also doesn't mention prerequisites like the draft existing or the anchors being present, but the destructive and idempotent annotations cover the safety profile. Overall, it is fairly complete for the operation's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain parameters. It explicitly mentions 'by item id' for the item_ids parameter and describes the source_stage object with its stage and version fields, including the 409 behavior. It does not detail the resource.id parameter, but that is implied as the draft identifier from the schema pattern and title. Overall, it compensates reasonably for the missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Delete'), a specific resource ('behavioral-anchor entries for draft items'), and the key selector ('by item id'). This clearly distinguishes it from sibling tools like update_anchors or generate_anchors based on the action alone. The title 'Delete draft scorecard anchors' reinforces the purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by its action verb and resource but provides no explicit guidance on when to choose this tool over alternatives (e.g., when to use delete_questions vs delete_anchors). It does not state exclusions such as 'only for draft items, not published plans', although the title hints at drafts. No comparison with sibling delete tools is given, so an agent must infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_delete_competenciesDelete draft competenciesA
DestructiveIdempotent
Inspect

Delete draft competencies by id. Prunes each deleted competency's behavioral anchors in the same write and reports the pruned ids; the stage must keep at least one competency. Optional source_stage {stage: competencies, version} returns 409 when stale.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (destructiveHint=true, idempotentHint=true), the description discloses concrete side effects: behavioral anchors are pruned in the same write and pruned ids are reported, the stage must retain at least one competency, and optional source_stage causes a 409 on stale version. This meaningfully exceeds what annotations alone convey and is consistent with destructiveHint=true.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no filler: the core operation is front-loaded, followed by side-effect and invariant details, then the optional concurrency behavior. Every sentence adds decision-relevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive nested-parameter tool with no output schema, the description covers the return signal (pruned ids), the key invariant (at least one competency), the write scope (anchors pruned atomically), and the concurrency failure mode (409 stale). No critical behavioral gap remains for an agent deciding whether and how to call it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema prose coverage at 0%, the description carries the semantic burden and does so well for the key parameters: "by id" maps to the required ids array, and "source_stage {stage: competencies, version} returns 409 when stale" explains the purpose of the optional concurrency object. It does not enumerate every wrapper field (action, resource, request_id, idempotency_key), but those are fixed or conventional and largely self-evident from the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: "Delete draft competencies by id," and immediately distinguishes this from bulk operations like clear_competencies by emphasizing targeted deletion. It also adds unique behavioral details (pruning anchors, one-competency minimum) that make the tool's purpose unambiguous among many interview-plan siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use it: to delete specific competencies by id rather than clearing all, and it encodes the invariant that at least one competency must remain. It does not explicitly name an alternative sibling like clear_competencies, so the guidance is clear context without an explicit exclusionary routing statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_delete_questionsDelete questions from a draft interview roundA
DestructiveIdempotent
Inspect

Delete questions from one draft round by question id. Optional source_stage {stage: questions_and_directions, version} returns 409 when stale.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark destructiveHint=true and idempotentHint=true, and the description adds concrete behavioral detail: source_stage enables optimistic concurrency and returns 409 when stale. It also scopes what is destroyed (questions in a single draft round). This meaningfully supplements the structured annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two terse sentences with no filler: the first front-loads the primary operation and inputs, the second adds the optional concurrency behavior. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive delete call, the description plus annotations give an agent enough to invoke it correctly: required ids and round_id, optional source_stage, and the 409 stale failure mode. There is no output schema, but the absence of a return description is acceptable here. The main minor gap is unspecified behavior for unknown or already-deleted ids.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the semantic burden. It clarifies that ids are question ids, round_id identifies the draft round, and source_stage uses the stage constant questions_and_directions plus a version for stale detection. The fixed action/resource fields are not explained, but the deletion-specific parameters are covered.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the exact operation: 'Delete questions from one draft round by question id,' with a specific verb, resource scope, and identifier. This clearly distinguishes it from sibling tools like update_questions or delete_rounds. The action constant 'interview_plan.delete_questions' reinforces the purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage context is implied by the verb and scope ('one draft round'), so an agent can infer when to call it, but it does not explicitly name alternatives or when-not-to-use conditions. The source_stage note describes a concurrency detail rather than routing guidance. This is adequate but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_delete_roundsDelete draft interview roundsA
DestructiveIdempotent
Inspect

Delete draft interview rounds by id. Prunes each deleted round's questions and directions in the same write and reports the pruned ids; the sequence must keep at least one round. Optional source_stage {stage: interview_sequence, version} returns 409 when stale.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations' destructiveHint and idempotentHint, the description discloses that deleting a round also prunes its questions and directions in the same write, that pruned ids are reported, and that stale versioned edits return 409. This is exactly the behavioral context an agent needs before invoking a destructive draft mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences present the action first, then side effects and invariants, then the optional concurrency parameter. Every clause adds semantic information; there is no repetition of the title or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive tool with no output schema, it covers what gets deleted, what side effects occur, the minimum-remaining-round invariant, and the stale-write error. The only notable omission is a fuller description of the success response shape beyond "reports the pruned ids", which prevents a top score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

It translates the opaque ids and source_stage objects into meaning: ids identify draft rounds to delete, and source_stage is a concurrency guard with stage interview_sequence and version that triggers 409 when stale. With zero schema descriptions, this compensation is valuable, though generic top-level fields are left to schema conventions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening clause "Delete draft interview rounds by id" names a specific verb, resource, and targeting method, distinguishing it from sibling delete_* tools that act on anchors, competencies, questions, or skills. The cascade behavior further clarifies it is about rounds, not the child content individually.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives practical context—the sequence must keep at least one round, and passing source_stage adds optimistic concurrency with a 409 on staleness—so an agent knows preconditions and when the 409 path matters. However, it never explicitly routes between this and sibling tools such as delete_questions or delete_anchors, leaving alternatives to be inferred from names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_delete_skillsDelete draft job skillsA
DestructiveIdempotent
Inspect

Delete draft job skills by id; the stage must keep at least one skill. Optional source_stage {stage: skills, version} returns 409 when stale.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (destructive, idempotent), the description discloses the 'must keep at least one skill' invariant and the optimistic concurrency behavior where a stale source_stage version yields 409. This adds meaningful operational context without contradicting any annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, action verb front-loaded, each sentence adds essential information: the core operation, the invariant, and the concurrency parameter. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a delete operation with no output schema, the description covers the essential details: what is deleted, the invariant, and the concurrency guard. It does not explicitly state the error for violating the at-least-one-skill rule, but the constraint itself is sufficient for an agent to infer the risk.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, the description compensates by explicitly meaning the ids parameter ('by id') and detailing the source_stage object with its stage and version fields, including the consequence of staleness. It leaves the standard action/resource/request_id params to the schema, which is acceptable as they are self-evident.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Delete' with the resource 'draft job skills' and clarifies the operation is by id, distinguishing it from siblings like clear_job_skills (bulk removal) and update_skills. The at-least-one-skill constraint adds further precision about scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: call this to remove specific skills by id from a draft. However, it does not explicitly contrast with alternatives such as clear_job_skills or update_skills, and no exclusions or decision rules are provided. The guidance 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.

yardstick_interview_plan_drafts_generate_anchorsGenerate draft scorecard anchorsA
Destructive
Inspect

Generate scorecard behavioral anchors (levels 1-4) for each draft competency, or one competency when competency_id is supplied.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already flag destructiveHint: true, but the description adds no context about what is destroyed (e.g., whether it overwrites existing anchors). For a mutation tool, the description should disclose side effects beyond the generic annotation; it does not. 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly-worded sentence with no filler. It front-loads the core action and scope, then adds the conditional behavior. Every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (nested objects, 5 parameters, no output schema, destructive hint), the description is incomplete. It does not explain the input object's fields, what the generated anchors look like, or the destructive behavior. An agent would have to rely on the schema and sibling patterns to fully understand the call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for all parameters. It only explains the role of competency_id (limiting generation to one competency) but leaves instructions and source_stage unexplained. The 'levels 1-4' hint gives some context, but the other two fields remain ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb (generate), resource (scorecard behavioral anchors), and scope (each draft competency or one competency when competency_id is supplied). It distinguishes itself from sibling tools like generate_competencies and update_anchors by naming the exact output and the condition for targeting a single competency.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use the tool: it generates anchors for all competencies by default, or for a specific one when competency_id is provided. However, it does not mention exclusions or alternatives (e.g., using update_anchors if anchors already exist), so it stops short of fully routing the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_generate_competenciesGenerate draft competenciesC
Destructive
Inspect

Generate draft interview-plan competencies from confirmed outcomes.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate destructiveHint=true and idempotentHint=false, but the description does not explain what destructive action occurs—whether generation replaces existing competencies, appends to them, or requires cleared state. Saying 'generate from confirmed outcomes' adds only an input condition, not behavioral consequence. No contradiction exists, but the description fails to add meaningful behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler words. It communicates the core action and the key input source efficiently. It loses one point because the extreme brevity comes at the cost of needed behavioral and parameter detail, but as prose it is appropriately tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with five parameters, nested input objects, zero schema descriptions, a destructive annotation, and no output schema, a one-sentence description is inadequate. The agent is left without enough information to construct a valid request, understand side effects, or interpret results. This is comparable to the lowest calibration cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden of explaining parameters. It only hints at 'confirmed outcomes,' which loosely maps to outcome_ids or source_stage, but it does not explain instructions, source_stage.version, the interview_plan_draft resource type/id pattern, or the required action constant. This is far too little compensation for five undocumented parameters, including nested objects.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb-resource pair ('generate draft interview-plan competencies') and adds a source constraint ('from confirmed outcomes'), which helps distinguish it from sibling tools like add_competencies, update_competencies, and generate_skills. However, it does not explicitly contrast itself with adjacent generate or manual-add tools, so it stops just short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'from confirmed outcomes' implies a prerequisite (outcomes must already be confirmed), but there is no explicit guidance on when to use this tool versus add_competencies, update_competencies, clear_competencies, or generate_skills. No exclusions or alternative recommendations are provided, leaving the agent to infer the intended workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_generate_outcomesGenerate draft hiring outcomesA
Destructive
Inspect

Generate draft interview-plan outcomes from explicit role context, or pass accepted_outcomes to store caller-written outcomes verbatim with no AI generation (the deterministic draft bootstrap).

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceNo
request_idNo
idempotency_keyNo

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry destructiveHint=true and readOnly=false; the description adds the useful behavioral detail that accepted_outcomes are stored verbatim with no AI generation. It does not describe what existing outcomes are replaced or any other side effects, but the annotation covers the core safety signal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense sentence front-loads the primary action, then adds the alternate deterministic mode in a parenthetical. No filler or repetition of schema constraints.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, non-idempotent write tool with no output schema and no param descriptions, the description gives the essential mode distinction but omits return behavior, the required-role_context nuance in accepted_outcomes mode, and how this leads into confirm_outcomes. Basic invocation is clear, but an agent is left to infer several correctness details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates for the two key params: role_context as the generation source and accepted_outcomes as verbatim caller-written outcomes. It still leaves source_job_id and instructions unexplained and does not clarify that role_context remains required by the schema even in accepted_outcomes mode.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Generate draft interview-plan outcomes') and a concrete resource, and distinguishes this from sibling generators by naming outcomes and the accepted_outcomes bypass. An agent can tell it apart from generate_competencies, generate_rounds, etc. without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives two concrete usage modes: AI generation from role_context vs. deterministic storage of accepted_outcomes. It does not explicitly route to siblings like confirm_outcomes or exclude any cases, so it stops short of full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_generate_questions_directionsGenerate draft questions and interviewer directionsB
Destructive
Inspect

Generate interview questions and interviewer/candidate directions for each draft round, or one round when round_id is supplied.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry destructiveHint=true and readOnlyHint=false, so the safety profile is structured. The description adds the scoping behavior (all rounds vs one round) but does not disclose that generation plausibly overwrites existing draft questions/directions, the natural reading of destructiveHint. No contradiction between description and annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, front-loaded with the action, with the scoping conditional appended. No filler and no repetition of the schema's type information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 5 parameters, a nested source_stage object, no output schema, and a destructive annotation, yet the description explains only the core purpose and the round_id switch. Missing: what instructions control, what source_stage/version reference, what happens to existing content, and what a successful generation returns. For a complex, destructive generation tool this is a meaningful gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so parameter meaning falls entirely on the description, but only round_id gets any explanation ('when round_id is supplied'). instructions (max 10,000 chars) and source_stage (nested object with stage/version) are completely unexplained in both schema and description, leaving an agent to guess their roles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Generate') and resource ('interview questions and interviewer/candidate directions'), and adds a scope conditional: all draft rounds unless round_id targets one. This is clear enough to tell it apart from fellow generate_* siblings by output type, though it never explicitly names an alternative. The round_id conditional adds precision beyond the title.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides one piece of decision guidance: omit round_id to generate for every draft round, supply it to restrict to a single round. However, no guidance distinguishes this from related tools like add_questions or update_round_directions, and no exclusions or prerequisites are stated. The when-to-use context is partial at best.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_generate_roundsGenerate draft interview roundsC
Destructive
Inspect

Generate draft interview-plan rounds from confirmed skills.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as destructive and read-write, but the description adds nothing about what the operation does to existing draft rounds—whether it overwrites them, appends to them, or depends on accepted_rounds as constraints. The description does not contradict the annotations, but it also does not disclose the side effects that the destructiveHint warns about.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence, front-loaded with the verb and object, with no filler or repetition. It is as concise as a description can be while conveying the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex generative tool with a nested accepted_rounds array, an instructions field, a source_stage pointer, a destructive annotation, and no output schema, yet the description is a single seven-word sentence. It leaves the agent without guidance on required inputs, output shape, side effects, or how this step fits into the overall draft workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to compensate by explaining the non-obvious parameters, but it only mentions 'confirmed skills.' It never clarifies what accepted_rounds represents, why instructions is needed, what version means, or how source_stage should be set. Property names and structure do some work, but the burden is on the description and it is not met.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific operation ('Generate draft interview-plan rounds') and identifies its source ('confirmed skills'), which separates it from the other generate_* siblings such as generate_skills, generate_competencies, and generate_outcomes. It does not explicitly contrast with add_rounds or update_rounds, but the verb and draft scope are clear enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'from confirmed skills' implies the tool should be used after skills are confirmed, but it never states that prerequisite directly, nor does it mention alternatives like add_rounds or update_rounds. An agent must infer the correct workflow placement rather than being told when this generator is the right choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_generate_skillsGenerate draft job skillsC
Destructive
Inspect

Generate draft interview-plan skills from confirmed competencies.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already indicate destructive behavior (destructiveHint: true) and non-idempotency, but the description adds no behavioral context beyond 'generate'. It does not disclose whether existing skills are overwritten, what side effects occur, or what happens on repeated calls. No contradiction exists, but the description fails to enrich the safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no fluff or repetition. It efficiently conveys the primary purpose, though it is arguably too terse given the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a destructive, non-idempotent write tool with a nested input schema and no output schema. The one-sentence description leaves critical context uncovered: workflow prerequisites, return values, behavior on existing data, and parameter semantics. For an agent to invoke this correctly, it would need to infer most information from the raw schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description carries the full burden of explaining parameters, but it mentions none. Terms like 'accepted_skills', 'source_stage', and 'instructions' remain semantically opaque; the description's 'from confirmed competencies' only loosely maps to source_stage without clarifying its structure or the role of accepted_skills.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('generate'), a resource ('draft interview-plan skills'), and a source ('from confirmed competencies'), which clearly conveys the tool's core function. It distinguishes this from siblings like 'add_skills' (manual addition) and 'generate_competencies' (different target). The minor inconsistency between the title ('draft job skills') and description ('interview-plan skills') prevents a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives such as 'add_skills', 'update_skills', or 'generate_competencies'. The phrase 'from confirmed competencies' implies a prerequisite but does not explain the workflow placement or provide any when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_listList interview plan draftsA
Read-onlyIdempotent
Inspect

List interview-plan drafts, newest first. Optional job_id narrows the list to one job and takes a job_ public display id. Use this to find an ipd_ draft id again after an interrupted builder session.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
job_idNo
request_idNo
starting_afterNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds ordering behavior ('newest first') and job_id narrowing, which is useful context beyond annotations. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with the core action and ordering front-loaded. Every sentence adds value: list + order, optional filter, and when to use. No fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Purpose and safety are clear thanks to annotations and description, but with no output schema and no mention of pagination parameters (limit, starting_after), an agent may not know response shape or how to paginate. Some completeness is missing for a list operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It only explains job_id (taking a job_ public display id); limit, starting_after, and request_id are left undocumented Mick. For a list tool, pagination parameters are important for correct invocation, so the description insufficiently covers meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'List interview-plan drafts' with ordering 'newest first'. Clearly distinguishes from sibling tools like interview_plans_list (published plans) and interview_plan_drafts_read, and adds a concrete use case (finding an ipd_ draft id after an interrupted builder session).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a clear context: use after an interrupted builder session to recover a draft id. Does not explicitly name alternatives or state when not to use, but the scenario and filtering option give sufficient guidance for typical list usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_readRead an interview plan draftA
Read-onlyIdempotent
Inspect

Read one interview-plan draft in full: every stage checkpoint (outcomes, competencies, job skills, interview sequence, questions and directions), stage_versions for source_stage preconditions, status, and source metadata. Question ids are always present (question_N fallback), so edits can target them directly.

ParametersJSON Schema
NameRequiredDescriptionDefault
draft_idYes
request_idNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds behavioral value by disclosing what the read returns (all stage checkpoints, stage_versions, status, source metadata) and the guaranteed presence of question ids, which is useful context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, with two sentences that each earn their place: the first defines the tool's scope and return contents, and the second highlights the question-id invariant for downstream edits. There is no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and the readOnly annotations, the description adequately explains what is returned and the id guarantee. The main gap is the lack of any guidance on the optional request_id parameter, but overall the tool is sufficiently specified for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not mention draft_id or request_id at all. An agent gets no guidance on what request_id is for, whether it is required, or how draft_id should be formatted, leaving a significant gap for correctly invoking the tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Read one interview-plan draft in full,' and enumerates the contents (checkpoints, stage_versions, status, source metadata). It also differentiates from sibling list tools by emphasizing 'one draft' versus a collection, making the tool's scope unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to use this tool: before edits, because 'Question ids are always present... so edits can target them directly.' It does not explicitly name alternative list or update tools or state when not to use it, but the purpose is clear enough for an agent to route correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_update_anchorsSet draft scorecard anchorsA
DestructiveIdempotent
Inspect

Upsert behavioral anchors for draft items, keyed by item id with levels 1-4 — deterministic, no AI generation. Requires competencies; anchors keyed to unknown item ids are rejected by id. Optional source_stage {stage: questions_and_directions, version} returns 409 when stale.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses several important behaviors: deterministic output, no AI generation, rejection of unknown item ids, and a 409 on stale source_stage. These add real context beyond readOnly/destructive/idempotent hints and align with the annotations' write-oriented profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence with zero filler. The primary action and key constraints are front-loaded, followed by preconditions and failure semantics. Every clause adds information needed to call the tool correctly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with nested objects, no output schema, and safety hints, the description covers the essential call conditions: keying, level range, deterministic behavior, competency requirement, unknown-id rejection, and stale-version conflict. It doesn't describe the response/return shape, but with no output schema that is less critical; minor gap only.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the semantic load. It explains that anchors are keyed by item id with levels 1-4 and that source_stage has a stage/version shape causing 409 on staleness. This meaningfully compensates for the schema's bare structure, though it doesn't enumerate every nested constraint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific verb ('Upsert'), a precise resource ('behavioral anchors for draft items'), and key identifiers ('keyed by item id with levels 1-4'). The explicit 'deterministic, no AI generation' contrast cleanly distinguishes this from sibling generate_anchors.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides useful usage context: requires competencies, rejects unknown item ids, and has a stale-version failure mode. However, it never names an alternative tool like generate_anchors or delete_anchors explicitly; the 'no AI generation' note implies the distinction without an explicit when-to-use/when-not-to-use rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_update_competenciesRewrite or reorder draft competenciesA
DestructiveIdempotent
Inspect

Replace draft competencies by id and/or reorder them with order (a complete permutation of resulting ids) — deterministic, no AI generation. Updating in place keeps the item id. Optional source_stage {stage: competencies, version} returns 409 when stale.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses key behavioral traits beyond annotations: it is 'deterministic, no AI generation' (important for an agent deciding whether to use this vs generate_competencies), it updates in place keeping the item id, and it returns 409 when stale if source_stage is provided. The annotations already indicate destructiveHint=true and idempotentHint=true, but the description adds the concurrency behavior and the in-place semantics, which are valuable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. It front-loads the primary action ('Replace draft competencies by id and/or reorder them with order'), then adds the deterministic note, the in-place behavior, and the concurrency option. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, the description covers the essential behavioral contract: what it does, how ordering works, the deterministic nature, and the stale-version failure mode. It doesn't explain the full item schema (e.g., which fields are updatable), but the input schema already enumerates those fields. The description is complete enough for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains the meaning of 'items' (draft competencies to replace by id), 'order' (a complete permutation of resulting ids), and 'source_stage' (optimistic concurrency check returning 409 when stale). It doesn't detail every field inside items (name, title, details, etc.), but the core parameters are semantically clarified, which is sufficient for an agent to construct a valid call.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Replace draft competencies by id and/or reorder them with order') and a specific resource ('draft competencies'), and it distinguishes itself from sibling tools like add_competencies, delete_competencies, and clear_competencies by emphasizing in-place update and reordering. The title 'Rewrite or reorder draft competencies' reinforces the purpose without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use this tool: when you need to modify existing competencies in a draft (rewrite or reorder) rather than add or delete them. It doesn't explicitly name alternatives like add_competencies or delete_competencies, but the verb 'replace' and 'reorder' plus the sibling context make the usage context clear. It also mentions the optional source_stage for optimistic concurrency, which is a usage condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_update_questionsRewrite or reorder a draft round's questionsA
DestructiveIdempotent
Inspect

Replace one draft round's questions by id and/or reorder them with order (a complete permutation of that round's resulting question ids) — deterministic, no AI generation. Read the draft first: stored questions expose stable question_N ids. Optional source_stage {stage: questions_and_directions, version} returns 409 when stale.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry destructiveHint=true and readOnlyHint=false; the description adds determinism, no AI generation, the complete-permutation requirement for order, and the 409 stale behavior. It could more explicitly warn about overwriting existing question text, but it does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences front-load the core action and then add only high-value caveats: read first, stable ids, no AI generation, and stale conflict behavior. There is no filler or repetition of schema details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive nested-parameter tool with no output schema, the description covers the core workflow, id semantics, ordering constraint, and concurrency failure. It leaves common top-level fields such as request_id and idempotency_key to the schema, which is reasonable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description compensates for key parameters: order must be a complete permutation of resulting ids, questions are referenced by stable question_N ids, and source_stage acts as a version guard. It doesn't detail text/guidance/followUpQuestions/tags fields, but the schema property names and 'rewrite' wording cover much of that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: 'Replace one draft round's questions by id and/or reorder them with order.' It clearly separates this from add/delete/generate siblings by limiting scope to existing questions and explicitly stating 'deterministic, no AI generation.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives actionable context: 'Read the draft first: stored questions expose stable question_N ids' and explains when source_stage should be provided and what stale versions do. It does not explicitly name alternatives like add_questions or delete_questions, but the replacement/reorder wording makes the boundary reasonably clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_update_round_directionsSet a draft round's interviewer and candidate directionsA
DestructiveIdempotent
Inspect

Set one draft round's interviewer and/or candidate directions exactly as written — deterministic, no AI generation. Provide at least one of the two direction fields. Optional source_stage {stage: questions_and_directions, version} returns 409 when stale.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=false, destructiveHint=true, and idempotentHint=true. The description adds meaningful behavior beyond those: exact/deterministic writes, no AI generation, and concurrency protection via source_stage returning 409 when stale. It does not explicitly state that existing directions are overwritten, but 'set exactly as written' strongly implies it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short sentences with no filler. It front-loads the core action and determinism guarantee, then adds the key preconditions and concurrency behavior in the remaining sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schemaainer, the description covers the essential agent-facing aspects: what is set, how it is set, at least one field requirement, and stale-source handling. It does not fully spell out whether omitting one direction field preserves or clears the existing value, but the 'and/or' wording plus optional schema fields make preservation the reasonable reading.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds useful semantics for the direction fields and source_stage, including 'at least one' and stale 409 behavior. However, it does not explain round_id, resource, or the action envelope, leaving some parameter meaning to the schema's structural constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: 'Set one draft round's interviewer and/or candidate directions exactly as written.' It also distinguishes itself from AI-generation siblings by stating 'deterministic, no AI generation,' making tool selection unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to use this tool: when directions should be set exactly as written and not generated by AI. It also defines preconditions like providing at least one direction field and the stale-source 409 behavior. It does not explicitly name an alternative tool, but the deterministic vs. generative contrast strongly implies when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_update_roundsRewrite or reorder draft interview roundsA
DestructiveIdempotent
Inspect

Replace draft interview rounds by id and/or reorder them with order (a complete permutation of resulting ids) — deterministic, no AI generation. A round updated in place keeps its id, so its questions and directions are preserved (not pruned). Optional source_stage {stage: interview_sequence, version} returns 409 when stale.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only convey destructiveHint and idempotentHint, but the description adds valuable behavioral detail: rounds updated in place keep their id and preserve questions/directions, order must be a complete permutation, and source_stage returns 409 when stale. This meaningfully qualifies the destructive hint and exposes concurrency behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no filler. The core operation is front-loaded, then the most important behavioral consequences (preservation, determinism, stale check) follow compactly. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema and low schema coverage, the description covers the major pitfalls: replacement semantics, ordering constraints, child-data preservation, and optimistic concurrency. It does not explicitly state the return value or whether at least one of items/order is required, but the 'and/or' phrasing and schema structure partially address this.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description carries the burden of explaining parameters, and it compensates well for the trickiest ones: id ('by id'), order ('complete permutation of resulting ids'), and source_stage ('returns 409 when stale'). It does not explain the many item subfields or the action/resource wrapper, but those are largely self-evident or constrained by the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Replace draft interview rounds by id and/or reorder them with order', making the tool's function immediately clear. It also distinguishes itself from sibling generation tools with 'deterministic, no AI generation', so an agent can tell this apart from generate_rounds.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for use: deterministic editing and reordering rather than AI generation, and it notes that updating in place preserves questions and directions – implying this is preferable to delete-and-recreate flows. However, it does not explicitly name sibling alternatives like add_rounds or delete_rounds or state when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_update_skillsRewrite or reorder draft job skillsA
DestructiveIdempotent
Inspect

Replace draft job skills by id and/or reorder them with order (a complete permutation of resulting ids) — deterministic, no AI generation. Optional source_stage {stage: skills, version} returns 409 when stale.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo
idempotency_keyNo

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide destructiveHint, readOnlyHint, idempotentHint, and openWorldHint, so the description only needs to add behavioral context beyond that. It adds useful details: no AI generation, deterministic behavior, order must be a complete permutation, and source_stage returns 409 when stale. No contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense, front-loaded sentences communicate the operation, key constraints, determinism, and error behavior without fluff. Every clause adds information the agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete for a mutation tool with strong annotations: it explains the operation, ordering constraint, deterministic behavior, and stale-version handling. No output schema exists, so return-value documentation is not required, and the remaining gaps—such as explicit sibling routing or per-field semantics—are minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden of explaining parameter meaning. It clarifies items (replace by id), order (complete permutation of resulting ids), and source_stage (stale-version conflict). It does not explain every individual item field or top-level action/resource constants, but those are structurally evident from the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: replace draft job skills by id and/or reorder them with an order array. It distinguishes this from sibling add/delete/clear/generate skills tools, especially by adding 'deterministic, no AI generation' to contrast with generation-based tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly conveys that this tool is for manual, deterministic rewriting or reordering of draft skills, which implies it is the edit operation rather than add/delete/generate. It does not explicitly name those sibling alternatives or state when not to use it, but the context is clear enough for an agent to route correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plan_drafts_validateCheck an interview plan draft for problemsB
Idempotent
Inspect

Validate an interview-plan draft without publishing it.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceYes
request_idNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the behavioral detail that it does not publish, which is not fully captured by annotations (readOnlyHint is false, so the tool might mutate something). However, it doesn't clarify whether validation has side effects or what happens beyond returning results. IdempotentHint and destructiveHint are already present, but the description contributes the non-publishing aspect.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that conveys the core purpose efficiently. It has no filler and is easy to parse, though it is sparse on detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a validation tool with no output schema, the description should clarify what problems are checked, what the response format is, and how to interpret warnings or errors. None of this is provided. The tool is more complex than the description suggests, leaving significant gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any of the parameters (input, action, resource, request_id). The agent must rely solely on the schema, which is minimal. 'include_warnings' is self-descriptive but not addressed in the description. The tool description fails to compensate for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Validate') and the resource ('interview-plan draft'), and the phrase 'without publishing it' distinguishes it from publish operations. This is unambiguous and immediately identifiable among the many draft-related siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is a pre-publish check but does not explicitly state when to use it versus alternatives like publish_preview or other validation tools. No mention of scenarios or exclusions leaves the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plans_archiveArchive an interview planA
DestructiveIdempotent
Inspect

Archive one interview plan. Already-archived plans succeed without a write. A plan still attached to a job is refused — detach it from the job first.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
idempotency_keyNo
interview_plan_idYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes beyond annotations by disclosing that archiving an already-archived plan is a no-op (no write), and that plans attached to a job are refused. This is valuable behavioral context since the annotations only provide idempotentHint and destructiveHint. The contradiction check: annotations say destructiveHint=true, description does not contradict.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary action, and every sentence provides essential information. No fluff at all.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (simple archive operation), the description covers the key edge cases (idempotent success, job attachment restriction). No output schema exists, but that's fine for an archive action. The description is sufficient for an agent to decide and call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 3 parameters, but the description doesn't explain them beyond the main required one. Since schema description coverage is 0%, the description adds minimal value for parameters like request_id and idempotency_key — but these are probably standard and may be inferred from context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (archive), the resource (interview plan), and the primary behavior. It distinguishes from siblings like unarchive and modify_active by focusing on the archive action, making it easy for an agent to identify the correct tool among the many interview plan tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool — when you need to archive a plan, and explicitly notes the condition that blocks archiving (plan still attached to a job) and how to resolve it. It does not explicitly reference sibling alternatives like unarchive, but the context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plans_listList published interview plansA
Read-onlyIdempotent
Inspect

List published interview plans, newest first. Optional job_id narrows the list to one job and takes a job_ public display id. Use this to find an interview plan id when you only hold a job id.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
job_idNo
request_idNo
starting_afterNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds meaningful behavioral context by stating the ordering ('newest first') and that job_id takes a 'job_ public display id', which is useful beyond the schema. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no filler, front-loading the core verb and resource. Every sentence adds either purpose, parameter semantics, or usage guidance, and it is appropriately sized for the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the primary use case and key parameter, but it does not mention pagination behavior (starting_after) or the purpose of request_id. With no output schema, the description could more fully explain the list's paging contract, though annotations cover the read/safety aspects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains job_id's behavior and format, but leaves limit, starting_after, and request_id unexplained, particularly the pagination semantics of starting_after. Given 4 parameters and only one explained, the compensation is incomplete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('List published interview plans') and adds ordering ('newest first'). It implicitly distinguishes from sibling draft tools by specifying 'published', and provides a concrete use case for locating an interview plan ID from a job ID.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear context for when to use the tool: 'Use this to find an interview plan id when you only hold a job id.' It also explains the optional job_id filtering, but it does not explicitly name alternative sibling tools or state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plans_modify_active_bindConfirm and edit a live interview planB
DestructiveIdempotent
Inspect

Bind an already-previewed interview-plan active modification with explicit approval metadata and matching idempotency key.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
bindingYes
resourceNo
request_idNo
idempotency_keyNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already disclose readOnlyHint=false, destructiveHint=true, and idempotentHint=true, so the description does not need to repeat those. It adds useful workflow constraints (prior preview, explicit approval, matching idempotency key), but it does not describe the live-plan side effects, version-conflict behavior, or reversibility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one focused sentence with no filler and it front-loads the core action before the qualifiers. The jargon density is high, but every phrase carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, nested, six-parameter tool with no output schema and no parameter descriptions, this is too thin. It omits the preview-to-bind workflow, how to populate the binding object from preview output, error/conflict handling, and what the caller can expect in return, so an agent would still need to infer a lot from tool names and schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate for undocumented parameters, and it only covers part of the binding semantics. 'Approval metadata' and 'matching idempotency key' clarify the role of the binding object and idempotency_key, but preview_hash, approved_input_hash, resource_version_precondition, expected_*_version, resource, and request_id remain unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action ('bind'), a specific artifact ('interview-plan active modification'), and the workflow state ('already-previewed'), which prevents confusion with the paired preview tool. It stops short of 5 because 'bind' is domain jargon and the sentence never states plainly that this confirms/applies the change to the live plan.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Already-previewed' is an explicit precondition that tells the agent this is the post-preview confirmation step, and the reference to 'explicit approval metadata and matching idempotency key' further narrows when it is safe to call. It does not name the companion preview tool or give a when-not-to-use rule, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plans_modify_active_previewPreview editing a live interview plan (nothing changed yet)C
Idempotent
Inspect

Preview interview-plan active-modification approval requirements only; bind fields are rejected.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceNo
request_idNo
idempotency_keyNo

TDQS

C2.9/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description and title both describe a preview-only operation ('nothing changed yet', 'Preview ... only'), but the annotations set readOnlyHint=false. This is an annotation contradiction, making the tool's side-effect profile unclear and untrustworthy.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler, repetition, or unnecessary detail. The dense phrasing and jargon like 'bind fields' slightly reduces accessibility, but the structure is appropriately compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with five parameters, nested input, no output schema, and a contradictory readOnly annotation, the description omits parameter semantics, return format, and how the preview result relates to the subsequent bind call. It is far from sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description was the only place to explain draft_id, active_plan_id, approval_id, expected_plan_version, and expected_draft_version. It defines none of them, and 'bind fields are rejected' is too vague to tell the agent which parameters are bind fields versus valid preview inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action and resource: previewing approval requirements for modifying an active interview plan. It also distinguishes itself from the bind operation by noting that bind fields are rejected, so an agent can tell this apart from the sibling bind tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly frames this as the pre-bind approval-requirements preview and warns that bind fields are rejected, giving an agent a basis for choosing it over the actual modification/bind tool. However, it never explicitly names yardstick_interview_plans_modify_active_bind as the alternative when the agent is ready to apply changes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plans_publish_bindConfirm and publish an interview planB
DestructiveIdempotent
Inspect

Bind an already-previewed interview-plan publish with explicit approval metadata and matching idempotency key.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
bindingYes
resourceNo
request_idNo
idempotency_keyNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true and idempotentHint=true, so the safety profile is covered. The description adds that explicit approval metadata and a matching idempotency key are required, which is useful. Yet it does not describe what changes on publish, whether the action is reversible, or any version-precondition behavior beyond the schema field names.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler. Every phrase earns its place: 'already-previewed', 'explicit approval metadata', and 'matching idempotency key' all communicate necessary constraints. It is appropriately sized for the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex operation with six parameters, nested objects, destructive semantics, and no output schema, yet the description gives almost no workflow context. It does not explain how to obtain the preview_hash, what the binding fields mean, what happens on success, or what prerequisites beyond 'already-previewed' exist. The description is not sufficient for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only vaguely references 'approval metadata' and 'matching idempotency key'. The nested binding object, draft_id, expected_draft_version, and resource fields receive no explanatory context, leaving an agent to guess their meaning and relationships.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Bind an already-previewed interview-plan publish') and identifies the resource. The phrase 'already-previewed' distinguishes it from the preview sibling, and the title 'Confirm and publish an interview plan' reinforces the operation. It loses a point because 'bind' is domain jargon and the description does not explicitly say the plan will be published.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is used after a preview step by saying 'already-previewed', and it hints that an idempotency key must match. However, it does not explicitly name the preview tool as the prerequisite, nor does it state when not to use this tool or mention alternatives. The usage guidance is inferred rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plans_publish_previewPreview publishing an interview plan (nothing changed yet)B
Idempotent
Inspect

Preview interview-plan publish approval requirements only; bind fields are rejected.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
actionYes
resourceNo
request_idNo
idempotency_keyNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context by saying it is a preview and title says 'nothing changed yet,' which goes beyond the annotations (readOnlyHint is false, destructiveHint is false). It does not contradict the annotations because readOnlyHint false does not positively assert mutation. However, it omits details like whether any side effects occur, what the preview produces, or how approval requirements are surfaced.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded: 'Preview interview-plan publish approval requirements only' immediately states the core behavior. Every phrase earns its place, and the title adds useful context. It is terse but not wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and five parameters including nested objects, a one-line description is insufficient. It never explains what the preview returns, how 'approval requirements' are represented, or the role of optional fields like approval_id and expected_draft_version. The tool is therefore incomplete for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not compensate. It alludes to 'bind fields are rejected' but never identifies which fields those are, and it gives no meaning for draft_id, approval_id, expected_draft_version, request_id, or idempotency_key. Agents are left without guidance on how to supply parameters correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Preview interview-plan publish approval requirements only.' It also distinguishes itself from the binding operation by stating 'bind fields are rejected,' and the title reinforces 'nothing changed yet.' An agent can tell this from publish_bind siblings without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the tool is for previewing approval requirements before publishing, and 'bind fields are rejected' hints it is not for actually binding. However, it never explicitly names the alternative tool (e.g., yardstick_interview_plans_publish_bind) or states when to choose preview over bind, so guidance remains implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plans_readRead a published interview planB
Read-onlyIdempotent
Inspect

Read one interview plan by public id.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
interview_plan_idYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the 'public id' constraint, which is useful, but does not mention return format, potential errors, or any side effects beyond what annotations imply. It adds modest value without contradicting annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence with no filler. It front-loads the action and resource, and includes the key identifier detail. It is appropriately minimal for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with annotations covering safety and idempotency, the description is mostly adequate. However, it does not describe the return value (the interview plan structure), and the optional request_id is left unexplained. Given the absence of an output schema, a bit more detail would improve completeness, but it's not severely lacking.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains that interview_plan_id is a 'public id', giving that parameter meaning, but entirely omits request_id. The description does not describe parameter formats, constraints, or relationships, leaving a significant gap for the optional parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Read') and resource ('interview plan'), and specifies the lookup mechanism ('by public id'). This clearly distinguishes it from list-type siblings and other plan-related tools, though it doesn't explicitly mention the 'published' aspect from the title. The purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives like interview_plans_list or interview_plan_drafts_read. Usage is only implied by the verb 'read' and the resource name. No conditions, exclusions, or alternative tool mentions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_plans_unarchiveRestore an archived interview planA
Idempotent
Inspect

Restore one archived interview plan. Plans that are already live succeed without a write. If the plan's job has since acquired another live plan, the restore is refused and names that plan.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
idempotency_keyNo
interview_plan_idYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare idempotentHint=true and destructiveHint=false. The description adds valuable specifics beyond those: already-live plans succeed without a write (elaborating idempotency) and a refusal case where the job has another live plan, naming it. This is genuinely useful behavioral context not present in structured data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler. The main action is front-loaded in the first sentence, followed by two edge-case behaviors in the second. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple mutation tool with annotations covering idempotency and safety, the description covers the key conflict scenario and idempotent behavior. It lacks an explicit statement of return values or error format, but with no output schema and low complexity, this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for three parameters, so the description must compensate. It does not mention any parameter semantics. interview_plan_id is inferable from its name, but request_id and idempotency_key are entirely unexplained. The description fails to fill the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States 'Restore one archived interview plan' – a specific verb and resource. Distinguishes from sibling tools like archive, publish, and modify, with no ambiguity about what operation it performs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the verb 'restore' and the sibling context, but there is no explicit statement of when to use this tool versus alternatives, nor any when-not guidance. The behavioral caveats (already-live success, conflict refusal) help with decisions but do not explicitly route away from other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_sessions_available_interviewers_listList members assignable as interviewersA
Read-onlyIdempotent
Inspect

List organization members who can be assigned as interviewers, newest membership first. Use this to pick a usr_ public display id before assigning an interviewer.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
request_idNo
starting_afterNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful behavior: 'newest membership first' and the fact that it lists only assignable members, which goes beyond the annotations. It does not mention pagination or request_id semantics, but the read-only context lowers the burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no waste. The core purpose is front-loaded, and the usage hint is appended clearly. Every word earns its place, and it is appropriately terse for a list endpoint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, ordering, and a usage workflow, but it does not explain how to use the pagination/limit parameters or what `starting_after` expects. Since the tool has no output schema and a very lean parameter set, the description should at least mention that `limit` and `starting_after` control paging. Without that, an agent may not correctly invoke pagination, making this only partially complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for parameter meaning. It does not explain `limit`, `starting_after`, or `request_id`. While 'newest membership first' implies ordering for cursor pagination, it does not state what values `starting_after` accepts (e.g., member ID) or what `request_id` is for. The description adds minimal parameter-level meaning and leaves the agent to infer from parameter names alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'List organization members who can be assigned as interviewers'. It clarifies the return scope ('organization members', 'assignable as interviewers') and ordering ('newest membership first'), and the usage note ('Use this to pick a usr_ public display id before assigning an interviewer') distinguishes it from related list tools like yardstick_interview_sessions_interviewers_list. No ambiguity about what is listed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear context for when to use the tool: 'Use this to pick a usr_ public display id before assigning an interviewer.' This is an explicit workflow trigger. However, it does not explicitly name alternatives or provide when-not-to-use guidance; the differentiation from sibling tools like interview_sessions_interviewers_list is left implicit via the name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_sessions_cancelCancel a scheduled interviewB
DestructiveIdempotent
Inspect

Cancel a scheduled interview session, releasing the provider booking and invalidating its scheduling links.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
request_idNo
skip_providerNo
idempotency_keyNo
interview_session_idYes

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this as destructive and idempotent, and the description adds value by specifying the exact side effects: "releasing the provider booking and invalidating its scheduling links." It does not cover consequences like notifications or whether cancellation is reversible, so it stops short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. The core action comes first, and the behavioral effects follow in a compact clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With five undocumented parameters and no output schema, the description is too thin. It omits what reason, skip_provider, request_id, and idempotency_key control, and provides no guidance on expected outcomes or response behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description explains none of the five parameters. Only interview_session_id is inferable from the tool name; reason, request_id, skip_provider, and idempotency_key remain completely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action and resource: "Cancel a scheduled interview session," and adds concrete effects. It is distinct from the sibling session tools (start, complete, read, scorecard_submit) by the unique verb, but it does not explicitly name or differentiate those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by "Cancel a scheduled interview session," suggesting this is for sessions that have not yet run. However, there is no explicit when-to-use guidance, no exclusions, and no mention of alternatives such as completing or starting a session instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_sessions_completeComplete an interviewC
DestructiveIdempotent
Inspect

Complete an interview session for an explicit interviewer.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
idempotency_keyNo
interviewer_user_idYes
interview_session_idYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark destructiveHint=true and idempotentHint=true, so the safety profile is partly known. However, the description adds no behavioral context beyond the word 'Complete'—it does not say what changes, whether the action is reversible, or what side effects occur.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, with no filler words. However, it is arguably under-specified for a destructive operation with four parameters, so conciseness comes at the cost of necessary content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, no parameter descriptions, and the tool is marked destructive. The description does not explain return values, side effects, required parameters, or idempotency semantics, leaving an agent without enough context to invoke the tool confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only hints at interviewer_user_id through 'explicit interviewer'. interview_session_id, request_id, and idempotency_key are left entirely unexplained, so the description fails to compensate for the missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action ('Complete') and resource ('interview session'), with a reference to an explicit interviewer. This is reasonably distinct from sibling actions like start or cancel, though it does not clarify what 'complete' means as a state transition.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus siblings such as yardstick_interview_sessions_cancel, yardstick_interview_sessions_start, or yardstick_interview_sessions_scorecard_submit. It only implies a target interviewer, not a decision rule or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_sessions_interviewers_assignAssign an interviewer to an interviewC
Idempotent
Inspect

Assign an interviewer to an interview session.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
idempotency_keyNo
interviewer_user_idYes
interview_session_idYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide idempotentHint=true and destructiveHint=false, but the description adds no behavioral context beyond the action itself. It does not disclose what happens if the session already has an interviewer, whether reassignment is allowed, or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It is concise and readable, though it lacks additional useful context that could be added without bloating the text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutating tool with four parameters, no output schema, and zero schema descriptions, the description is too sparse. It does not cover reassignment behavior, prerequisites, or how to handle the optional idempotency fields, leaving an agent under-equipped for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for parameter meaning. It only implies the two required parameters ('interviewer' and 'interview session') and says nothing about request_id or idempotency_key, leaving their purpose undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Assign') and resource ('interviewer' to 'interview session'), making the tool's function immediately clear. It is also distinguishable from sibling tools like unassign, list, cancel, and complete by its action and target.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives, such as available_interviewers_list, unassign, or session readiness checks. There are no stated prerequisites, exclusions, or context about session state.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_sessions_interviewers_listList interviewers on an interviewB
Read-onlyIdempotent
Inspect

List interviewers assigned to an interview session.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
interview_session_idYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds the scoping detail that these are interviewers 'assigned to an interview session' but does not disclose any additional behavioral traits such as pagination, ordering, or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It states the action and scope directly, making it an efficient and well-structured definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one required param, no output schema), and the description covers the core purpose adequately. However, the missing explanation of 'request_id' and lack of return-value expectations leave gaps for an agent trying to invoke it correctly without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description provides no explanation of either parameter. 'request_id' is entirely unexplained, and 'interview_session_id' is only meaningful by name. The description fails to compensate for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and resource ('interviewers assigned to an interview session'). The word 'assigned' clearly distinguishes this from the sibling 'available_interviewers_list' tool, so an agent can tell them apart without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (when you need the interviewers assigned to a session) but provides no explicit guidance on when to use this versus the similar 'available_interviewers_list' or other sibling tools. No when-not or alternative routing is given, so it relies on inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_sessions_interviewers_unassignRemove an interviewer from an interviewB
DestructiveIdempotent
Inspect

Unassign an interviewer from an interview session.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
idempotency_keyNo
interviewer_user_idYes
interview_session_idYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description is consistent with annotations (destructiveHint=true, idempotentHint=true) but adds no extra behavioral context. It does not explain consequences such as whether removing the interviewer affects scheduling, availability, or the interview plan. While the annotation flags destructiveness, the description could clarify the scope of the removal but does not.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with no wasted words. It is appropriately sized for the action and gets straight to the point, making it easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The definition lacks essential context for a destructive operation. It does not mention return values (though no output schema exists), side effects, reversibility, or how it differs from cancelling the session. Given four parameters with no schema descriptions, the description is too terse to fully equip an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no parameter explanations. The required parameters (interview_session_id, interviewer_user_id) are self-explanatory, but optional ones like idempotency_key and request_id are left undefined. With zero coverage, the description should at least mention the purpose of key parameters, but it does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Unassign an interviewer from an interview session' clearly states the specific verb (unassign) and resource (interview session), making it immediately distinguishable from its sibling 'yardstick_interview_sessions_interviewers_assign'. The title reinforces this by naming the exact action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. For instance, it does not mention that this is the inverse of the assign tool, nor does it differentiate from other session actions like cancel or complete. The agent must infer usage from the name alone, which is insufficient for complex workflows.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_sessions_readRead an interviewB
Read-onlyIdempotent
Inspect

Read one interview session by public id.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
interview_session_idYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and non-destructiveHint, so the safety burden is mostly covered. The description adds the 'by public id' contextual detail, but does not disclose response shape, error behavior, or permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; every word contributes meaning. It is appropriately sized for a simple read operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and the annotations cover its safety profile, so an agent can call it with the required id. However, with no output schema and no mention of what the returned interview session contains, the description is minimally sufficient rather than complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only clarifies that interview_session_id is a public id. It does not explain request_id or the expected format of the public identifier, leaving a gap for correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb ('Read'), resource ('one interview session'), and identifier type ('public id'), which differentiates it from list/cancel/start siblings. An agent can tell this is a single-record fetch rather than a state-changing or listing operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to choose this over related tools such as interview_sessions_list or interview_sessions_readiness. The only selection cue is the tool name and tacit context, not an explicit when-to-use or alternative statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_sessions_readinessCheck interview scheduling readinessC
Idempotent
Inspect

Read interview-session scheduling readiness.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
interview_session_idYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations carry idempotentHint=true and destructiveHint=false, and the description adds no behavioral detail beyond those. Notably readOnlyHint=false is left unexplained: the 'Read' phrasing gives no hint about possible side effects, what the readiness computation involves, or what state changes may occur.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five words with zero filler; the action and resource are front-loaded. Every word earns its place, though the brevity comes at the cost of semantic richness elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description should explain what the readiness result means or how to respond to it, but it says nothing about return semantics, readiness conditions, or follow-up actions. For a simple 2-param tool the complexity is low, but the missing meaning of the result is a significant gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description adds nothing about either parameter. interview_session_id is inferable from the tool name, but request_id's purpose is entirely opaque, and the description fails to compensate for the schema's lack of documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Read') and resource ('interview-session scheduling readiness'), and the readiness concept distinguishes it from sibling session tools like cancel, complete, start, and read. However, 'readiness' is never defined, so an agent understands the general area but not the precise meaning of the result.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to call this tool versus alternatives such as yardstick_interview_sessions_read or yardstick_interview_sessions_available_interviewers_list. Usage is only implied by the name; no prerequisites, sequencing advice, or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_sessions_scorecard_submitSubmit an interview scorecardC
DestructiveIdempotent
Inspect

Submit an interview-session scorecard with explicit ratings.

ParametersJSON Schema
NameRequiredDescriptionDefault
ratingsYes
request_idNo
overall_notesNo
overall_ratingNo
idempotency_keyNo
interviewer_user_idYes
interview_session_idYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already convey destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the description is not required to restate those. However, it adds no additional behavioral context, such as whether submission finalizes the scorecard, whether previous scorecards are overwritten, or any authorization requirements. The phrase 'with explicit ratings' only describes the input style, not the behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, front-loading the action with no fluff. However, for a tool with seven parameters and a nested ratings array, this is under-specified rather than appropriately concise, so it does not earn a higher score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is complex (7 parameters, nested ratings array, no output schema, no schema parameter descriptions), yet the description is only one sentence. It fails to explain required subfields, rating scales, idempotency usage, or what happens after submission. An agent cannot reliably construct a valid request from this definition alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not compensate. It makes no mention of interview_session_id, interviewer_user_id, the structure of ratings items (item_type, item_id, item_title, rating), rating scales (0-4 for items, 1-5 for overall), or idempotency_key. An agent would have to infer all parameter meaning solely from names and type constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Submit') and resource ('interview-session scorecard'), and adds a qualifier ('with explicit ratings') that clarifies the mode of input. It is clear what the tool does, though it does not explicitly distinguish it from sibling tools like yardstick_interview_sessions_complete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used when one wants to submit a scorecard for an interview session, but it gives no explicit when-to-use guidance, exclusions, or references to alternative tools. The usage context is largely left to inference from the tool name and title.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_interview_sessions_startStart an interviewC
DestructiveIdempotent
Inspect

Start an interview session for an explicit interviewer.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
idempotency_keyNo
interviewer_user_idYes
interview_session_idYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds no behavioral detail beyond the action name. The annotations indicate destructiveHint=true and readOnlyHint=false, so the agent knows this is a mutating operation, but the description does not explain what state changes occur, whether the action is reversible, or what side effects starting a session may have. It does not contradict the annotations but also does not enrich them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler, which is good. However, it is overly terse and omits important operational context, so the brevity comes at the cost of usefulness. It earns its place but does not carry enough information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, state-changing tool with no output schema and fully undocumented parameters, this description is incomplete. An agent cannot determine what happens when the session starts, what the return value is, or how to use the idempotency fields. The annotations help with the safety profile, but the overall context is insufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It loosely maps to interview_session_id ('interview session') and interviewer_user_id ('explicit interviewer'), but it does not explain the idempotency_key, request_id, or the relationship between the required parameters. The optional idempotency-related fields remain entirely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Start an interview session' for an 'explicit interviewer.' It conveys the core action and distinguishes this tool from siblings like cancel, complete, or read. However, the phrase 'explicit interviewer' is somewhat vague and would benefit from clarifying why the interviewer must be specified.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives. It does not mention prerequisites like session readiness, whether the session must already be scheduled, or what conditions make 'start' appropriate. The description also does not exclude cases where a sibling like interview_sessions_complete or interview_sessions_cancel would be more suitable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_job_postings_archive_bindConfirm and archive a job postingB
DestructiveIdempotent
Inspect

Bind an already-previewed job-posting archive with explicit approval metadata and matching idempotency key.

ParametersJSON Schema
NameRequiredDescriptionDefault
bindingYes
request_idNo
job_posting_idYes
idempotency_keyNo

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false. The description adds meaningful behavioral context by requiring 'explicit approval metadata' and a 'matching idempotency key,' which are not captured in the annotations. It does not contradict the annotations and supplements them with the safety/confirmation requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence and front-loads the key action ('Bind an already-previewed job-posting archive'). It is concise and contains no filler, but the dense terminology ('approval metadata', 'matching idempotency key') slightly reduces immediate readability. Overall, it is appropriately sized and structured for its content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the tool (nested 'binding' object, 4 parameters, no output schema, and 0% schema-description coverage), the one-sentence description is inadequate. It does not explain how the binding object is structured, how the idempotency key should match, or what the result of binding looks like. An agent would need to infer most details from the schema alone, which lacks descriptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the lack of parameter documentation. It only refers vaguely to 'approval metadata and matching idempotency key' without explaining the individual parameters (preview_hash, approved_action_key, approved_input_hash, resource_version_precondition) or the nested binding object. This is insufficient for an agent to correctly construct the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('bind') and resource ('job-posting archive') and adds the qualifier 'already-previewed,' which distinguishes it from the sibling preview tool. The title 'Confirm and archive a job posting' further clarifies the action, though the use of 'bind' and 'approval metadata' is somewhat technical. It clearly identifies this as the post-preview confirmation/commit step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'already-previewed' implies the tool must follow yardstick_job_postings_archive_preview, but it does not explicitly name the sibling or state when not to use this tool. There is no mention of alternatives or exclusions, so the guidance is implied rather than explicit. This meets the threshold for 'implied usage' but falls short of clear when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_job_postings_archive_previewPreview archiving a job posting (nothing changed yet)C
Idempotent
Inspect

Preview job-posting archive approval requirements only; bind fields are rejected.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
job_posting_idYes
idempotency_keyNo

TDQS

C2.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description and title claim 'preview only' and 'nothing changed yet', implying read-only behavior, but the annotations set readOnlyHint=false. This is a direct contradiction. The description also fails to explain side effects, output, or error behavior beyond 'bind fields are rejected'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loads the main purpose, but the phrase 'bind fields are rejected' is cryptic and could be clearer. It is concise but under-specified for the information needed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no explanation of return values, the description leaves the agent guessing what the preview returns. It also does not compensate for the 0% parameter coverage or clarify the contradictory annotation behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no meaning for request_id, job_posting_id, or idempotency_key. 'Bind fields' is mentioned but never mapped to specific parameters, leaving the agent without any parameter guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it previews job-posting archive approval requirements, and the phrase 'only' plus 'bind fields are rejected' helps differentiate it from the actual archive/bind operation. The resource and action are specific, though 'bind fields' is vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is not the binding operation but does not explicitly name the alternative (archive_bind) or state when to use this tool versus that one. It also provides no prerequisites or conditions for when to call it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_job_postings_createCreate a draft job postingCInspect

Create a draft job posting through the public Yardstick API.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYes
titleYes
locationNo
departmentNo
request_idNo
salary_maxNo
salary_minNo
descriptionNo
requirementsNo
location_typeNo
salary_displayNo
idempotency_keyNo
salary_currencyNo
custom_questionsNo
location_countryNoAssigned ISO 3166-1 alpha-2 country code.
interview_plan_idYesPublished interview plan id (ipd_...) returned by `interview-plans publish` — not an interview-plan draft id. The plan must already be attached to a Job via `jobs attach-artifact`.

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds one useful behavioral trait: it creates a draft, implying the posting is not published yet. Annotations already convey that this is not read-only and not destructive, so the bar is lower, but the description does not disclose validation behavior, response shape, or side effects beyond creating the draft.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, but it mostly restates the title, and 'through the public Yardstick API' is filler that provides no agent value. It front-loads the action but does not use its limited space to convey useful information beyond the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 16-parameter create operation with no output schema and very low schema coverage, this one-sentence description is inadequate. It omits prerequisites, sequencing with interview plan publishing, idempotency behavior, and what the agent should expect after a successful call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 13%, and the description says nothing about any of the 16 parameters. It does not compensate for the sparse schema by explaining required fields like slug, interview_plan_id, salary fields, or custom_questions structure.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Create') and resource ('draft job posting'), and the 'draft' qualifier clearly distinguishes this create endpoint from publish, update, validate, or read siblings. The purpose is immediately understandable and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives such as job_postings_update, job_postings_publish, or job_postings_validate. Prerequisites like needing a published interview plan already attached to a job are not mentioned in the description, and no exclusions or alternative routing are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_job_postings_listList job postingsB
Read-onlyIdempotent
Inspect

List job postings visible to the current principal.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
request_idNo
starting_afterNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds the important behavior that results are filtered by the current principal's visibility, which is useful context. It doesn't disclose pagination or ordering, but the annotations cover the safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the action and scope with no filler. It is front-loaded and every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core purpose and visibility scope, but omits explicit pagination semantics and return format. With no output schema and 0% parameter descriptions, an agent may need additional context to use the tool fully, though the simple read-only nature lessens the gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description says nothing about limit, starting_after, or request_id. Agents receive no hints about pagination cursors, limits, or request correlation beyond the parameter names themselves.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('List') and resource ('job postings') with a meaningful scope ('visible to the current principal'). This distinguishes it from create, read, update, publish, and archive siblings without needing to inspect schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The scoping phrase implies this is the tool for browsing postings the caller can see, but there is no explicit when-to-use guidance or mention of alternatives like read for a single posting. Usage is implied by the name and title rather than explicitly directed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_job_postings_publish_bindConfirm and publish a job postingA
DestructiveIdempotent
Inspect

Bind an already-previewed job-posting publish with explicit approval metadata and matching idempotency key.

ParametersJSON Schema
NameRequiredDescriptionDefault
bindingYes
request_idNo
job_posting_idYes
idempotency_keyNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the tool destructive and idempotent. The description adds useful operational context beyond that: it requires explicit approval metadata and a matching idempotency key, and it operates on an already-previewed publish. It does not detail downstream side effects, but the destructiveHint covers the main risk.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single tight sentence with no filler. It front-loads the action and immediately communicates the two key constraints: prior preview and approval metadata.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex, nested-object mutation tool with no parameter descriptions and no output schema. The description explains neither where the approval metadata fields come from (presumably the preview response) nor what happens on mismatched idempotency keys or version preconditions. An agent would need substantial prior knowledge of the bind/preview protocol to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It broadly groups the binding object as 'explicit approval metadata' and mentions a 'matching idempotency key,' but it does not explain the purpose of preview_hash, approved_input_hash, approved_action_key, or resource_version_precondition. An agent would still be guessing about how to populate the nested binding object correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Bind'), a resource ('an already-previewed job-posting publish'), and the distinctive context of explicit approval metadata. It clearly distinguishes this bind step from the sibling publish_preview tool and the archive_bind pattern.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Already-previewed' clearly signals that this tool is used after a publish preview, and 'matching idempotency key' indicates a key precondition. It does not explicitly name the alternative (publish_preview) or state 'do not call without a preview,' but the context is strong enough for an agent to identify the intended flow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_job_postings_publish_previewPreview publishing a job posting (nothing changed yet)A
Idempotent
Inspect

Preview job-posting publish approval requirements only; bind fields are rejected.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
job_posting_idYes
idempotency_keyNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds meaningful behavioral context beyond the annotations: it is preview-only, returns or checks approval requirements, and rejects bind fields. Combined with idempotentHint=true and destructiveHint=false, the agent gets a clear picture that this is a non-destructive, idempotent preview operation. It does not disclose output shape, but the preview scope mitigates that gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. Every clause earns its place: it states the purpose ('preview approval requirements'), the limitation ('only'), and the key rejection behavior ('bind fields are rejected').

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple preview tool with one required parameter and no output schema, the description covers the essential behavior and the key validation constraint. It could be slightly richer in explaining what 'approval requirements' means or what the response contains, but the tool is simple enough that an agent can invoke it correctly from this description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to compensate for the three parameters, but it provides no details about job_posting_id, request_id, or idempotency_key. The only parameter-related hint, 'bind fields are rejected,' refers to fields not present in the schema. Property names are somewhat self-explanatory, but the description itself adds no parameter-level meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb-object pair, 'Preview job-posting publish approval requirements only,' and explicitly contrasts itself with binding via 'bind fields are rejected.' This clearly separates it from sibling publish_bind tools and states what the tool does and does not do.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description signals when to use this tool: to preview approval requirements rather than to actually bind or publish. The explicit 'bind fields are rejected' warning is an effective exclusion that prevents an agent from using this as a publish/bind tool, though it does not name the preferred alternative tool explicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_job_postings_readRead a job postingA
Read-onlyIdempotent
Inspect

Read one job posting by public id.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
job_posting_idYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds only the scoping fact that it reads one posting by public id, and does not disclose return behavior, error cases, or permissions; still, it does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. Every word contributes to identifying the operation and its key identifier.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The definition is adequate for a simple read operation, especially with safety annotations present. However, because there is no output schema, the description does not explain what is returned, and error/not-found behavior and request_id semantics are also left unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description partially compensates by explaining that job_posting_id is a public id and that exactly one posting is read. However, the optional request_id parameter is not addressed, leaving its purpose and format to inference.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Read'), a specific resource ('job posting'), and the accessor ('by public id'). This clearly distinguishes it from sibling operations like job_postings_list, job_postings_create, and job_postings_update, and from generic read tools on other resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, no exclusions, and no mention of prerequisites such as having a public id or using list to obtain one. Usage is only implied by the verb 'read'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_job_postings_updateUpdate a job postingB
DestructiveIdempotent
Inspect

Update a job posting with schema-bound public API fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNo
titleNo
locationNo
departmentNo
request_idNo
salary_maxNo
salary_minNo
descriptionNo
requirementsNo
location_typeNo
job_posting_idYes
salary_displayNo
idempotency_keyNo
salary_currencyNo
custom_questionsNo
location_countryNoAssigned ISO 3166-1 alpha-2 country code.
interview_plan_idNoPublished interview plan id (ipd_...) returned by `interview-plans publish` — not an interview-plan draft id. The plan must already be attached to a Job via `jobs attach-artifact`.

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=true, and idempotentHint=true, covering the basic behavioral profile. The description adds the phrase 'schema-bound public API fields', which implies that only fields present in the schema are updatable, but it does not clarify whether it is a partial or full update, nor does it mention any side effects beyond the annotations. Since annotations carry most of the burden, this is an adequate but not enriching addition.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of moderate length, which is concise and front-loads the core action ('Update a job posting'). It avoids redundancy and gets to the point quickly. However, its brevity borders on under-specification, as it sacrifices detail for conciseness, but it is appropriately sized for a simple update tool despite the underlying complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's high complexity (17 parameters, low schema coverage, no output schema, and no description of return values or error handling), the description is severely incomplete. It does not explain the update semantics (partial vs. full overwrite), what fields are actually updatable, any prerequisites, or what the response contains. The description leaves the agent guessing about crucial details that are not covered by annotations or schema. For a tool this complex, far more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 12%, meaning the vast majority of the 17 parameters are undocumented in the schema. The description does not compensate for this gap; it says nothing about what fields like slug, title, location_type, salary_display, or custom_questions mean or how they interact. The only field descriptions in the schema are for location_country and interview_plan_id, leaving the agent without semantic guidance for the other parameters. The description fails to add any parameter-level clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the specific verb 'update' and the resource 'job posting', which clearly distinguishes it from sibling tools like create, archive, publish, and read. The phrase 'schema-bound public API fields' also hints at the scope of updatable fields, though it could be more explicit about which fields are included. Overall, the purpose is unambiguous and easily separable from other job posting operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as yardstick_job_postings_create, publish, or archive. It does not mention that create should be used for new postings or that publish/archive handle lifecycle changes. The usage context is implied by the name but not explicitly stated, leaving the agent to infer when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_job_postings_validateCheck a draft job posting for problemsB
Idempotent
Inspect

Validate a draft job posting without mutating it.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
job_posting_idYes

TDQS

B3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description says 'without mutating it,' but the annotations declare readOnlyHint: false, which suggests the tool may mutate state. This is a direct annotation contradiction. The description also does not disclose what validation checks are performed, what side effects may occur, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It communicates the core action and a meaningful constraint. However, it is so terse that it sacrifices useful context that could be included without much length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description should explain what the validation returns or what 'problems' means, but it does not. The tool is low-complexity, but the annotation contradiction and missing return semantics leave the agent under-informed about expected results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no property descriptions (0% coverage) and the description adds no parameter-level detail. 'job_posting_id' is fairly self-explanatory from its name, but 'request_id' is entirely ambiguous and its purpose is left undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action ('Validate') and a specific resource ('a draft job posting'), and explicitly scopes it as non-mutating. This distinguishes it from job posting create/update/publish tools, and the title reinforces the purpose without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is used for checking a draft before making changes ('without mutating it'), but it does not explicitly state when to use this versus alternatives like publish_preview, read, or update. No exclusions or alternative tool mentions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_jobs_archiveArchive a jobA
DestructiveIdempotent
Inspect

Archive one Job row only; linked job postings, applications, and interview plans are not mutated.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes
request_idNo
idempotency_keyNo

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, but the description adds crucial behavioral detail: the mutation is limited to the job row and does not propagate to linked postings, applications, or interview plans. This precise scope disclosure goes beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that front-loads the primary action and immediately clarifies the scope. No wasted words; every clause adds meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description, combined with the annotations (destructive, idempotent, not read-only), provides a clear picture of the tool's behavior and side effects. The absence of an output schema means return-value explanation is unnecessary. However, the lack of parameter documentation is a minor gap, though the parameters appear standard and the operation is simple.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no information about any of the three parameters (job_id, request_id, idempotency_key). The agent is left with only parameter names and types, with no guidance on required values or optional semantics. The description does not compensate for the missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Archive') and resource ('one Job row only'), and explicitly delimits the scope by noting that linked job postings, applications, and interview plans are not mutated. This clearly distinguishes the tool from other job-related operations and from archive tools that cascade to related entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool: when you only want to archive the job row itself and not affect linked records. It indirectly tells the agent that if broader archiving is needed, other tools would be required, though it does not name specific alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_jobs_attach_artifactLink an item to a jobA
Idempotent
Inspect

Link an existing interview plan, job posting, or application to a Job. Idempotent when already linked to the same Job; conflicts when linked elsewhere. Requires jobs:write and the artifact's own write scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes
request_idNo
artifact_idYes
artifact_typeYes
idempotency_keyNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Explicitly discloses idempotency and conflict behavior ('Idempotent when already linked to the same Job; conflicts when linked elsewhere') and required permissions ('requires jobs:write and the artifact's own write scope'). This goes beyond annotations, which only indicate idempotentHint, adding crucial context for correct invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences, each adding critical information: the action and object, idempotency and conflict behavior, and permission requirements. No fluff, very efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter tool with no output schema, the description covers the essence: what it does, when it's safe, and what permissions are needed. The remaining parameters are standard (IDs, keys) and need no further explanation. Complete enough for an agent to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, but the description clarifies the artifact types (matching the enum) and the linkage semantics. However, it does not explain the purpose of 'request_id' or 'idempotency_key', which are non-obvious. Still, the key parameters are covered sufficiently.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool links an artifact (interview plan, job posting, application) to a Job. It explicitly differentiates from the sibling 'detach_artifact' and other job operations, making the purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Describes the context of linking artifacts to jobs, and implicitly distinguishes from detach_artifact (via name). However, it does not explicitly mention when NOT to use this tool or alternatives beyond the sibling name, leaving some inference to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_jobs_closeClose a jobA
DestructiveIdempotent
Inspect

Close one Job row only; linked job postings, applications, and interview plans are not mutated.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes
request_idNo
idempotency_keyNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=true, so the description's job is to add context beyond that. It does so by clarifying the exact scope of mutation: only the Job row is closed, and linked job postings, applications, and interview plans are untouched. This is valuable behavioral context that prevents an agent from assuming cascading effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly scoped sentence that front-loads the primary action and immediately clarifies the non-cascading behavior. Every word earns its place; there is no filler or repetition of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, idempotent mutation with no output schema, the description provides the key scoping detail (no cascading mutations) but omits other useful context such as prerequisites (e.g., job must exist), what 'closed' means for downstream behavior, or whether the operation is reversible. The annotations cover idempotency and destructiveness, but the description could be more complete about the state change.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden for parameter meaning. However, the description does not explain job_id, request_id, or idempotency_key beyond what the schema provides (names and types). The description's scope note indirectly clarifies that job_id refers to a Job row, but it does not add meaningful semantic detail for the optional parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Close') and resource ('one Job row only'), and explicitly distinguishes its scope from related operations by noting that linked job postings, applications, and interview plans are not mutated. It is clear and actionable, though it does not explicitly name a sibling tool to differentiate from.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool: when the intent is to close a single job row without affecting related records. It does not explicitly state when not to use it or name alternatives (e.g., yardstick_jobs_archive or yardstick_jobs_update), but the scope limitation provides some guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_jobs_createCreate a jobBInspect

Create an internal Job container without mutating job postings, applications, or interview plans.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
statusNo
locationNo
departmentNo
request_idNo
descriptionNo
department_idNo
location_typeNo
idempotency_keyNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false, so the create action is expected. The description adds the useful context that it does not mutate related entities (postings, applications, interview plans), which clarifies its side-effect scope. However, it does not disclose other potential behaviors like permissions, reversibility, or response format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the action and adds a meaningful scoping constraint. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 9 parameters, no output schema, and no parameter descriptions in either schema or tool description, the description is grossly incomplete. It does not explain what a 'Job container' is, what parameters mean, what the response looks like, or any prerequisites. The only context added is the non-mutation of other entities.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides no parameter information whatsoever. With schema description coverage at 0%, the description fails to compensate for the lack of parameter documentation. The agent is left entirely to the raw schema, which has no descriptions either.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Create') and a specific resource ('internal Job container'), and explicitly clarifies what it does NOT mutate (job postings, applications, interview plans). This distinguishes it from sibling tools like yardstick_job_postings_create and yardstick_jobs_update.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies that this tool is for creating a job container independent of postings/applications/interview plans, but does not explicitly state when to use it versus alternatives. No explicit conditions, exclusions, or named sibling tools are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_jobs_detach_artifactUnlink an item from a jobA
DestructiveIdempotent
Inspect

Clear the link between an artifact and a Job. Idempotent when already unlinked. Requires jobs:write and the artifact's own write scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes
request_idNo
artifact_idYes
artifact_typeYes
idempotency_keyNo

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already convey readOnlyHint=false, destructiveHint=true, and idempotentHint=true. The description adds value by specifying the exact nature of the operation ('Clear the link' rather than delete the artifact), the idempotence condition ('when already unlinked'), and the required permissions. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with no filler. The first sentence states the operation, and the second covers idempotence and permissions. Every sentence earns its place and the description is appropriately front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core operation, idempotence, and required permissions, which is adequate for a simple unlink action. However, with no output schema and no parameter descriptions, it leaves some gaps around artifact types and optional parameters. Adequate but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It helps infer that job_id refers to a Job and artifact_id/artifact_type refer to an artifact, but it does not explain request_id, idempotency_key, or the meaning of artifact_type enum values. Core params are partially inferable, but a significant share of parameter semantics is left to the schema with no descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action ('Clear the link'), the resource ('an artifact'), and the target ('a Job'). It is immediately distinguishable from the sibling yardstick_jobs_attach_artifact because it describes the inverse operation, even without naming it explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives preconditions ('Requires jobs:write and the artifact's own write scope') and notes idempotence when already unlinked, but it does not state when to prefer this tool over alternatives or when not to use it. No explicit usage-context or alternative routing is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_jobs_listList jobsC
Read-onlyIdempotent
Inspect

List internal Job containers visible to the current principal.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
request_idNo
starting_afterNo
include_archivedNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly, idempotent, and non-destructive behavior, lowering the bar. The description adds the useful detail that results are scoped to the current principal, but it does not disclose list ordering, pagination behavior, or how include_archived affects results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no filler. It front-loads the verb and resource, though it arguably compresses too much potentially useful context into an underspecified phrase.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter list operation with no output schema and no parameter descriptions, this description is too thin. An agent would not know how pagination works, what the returned payload contains, or how archived jobs are treated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are four parameters and schema description coverage is 0%, so the description needed to explain or at least hint at the parameters. It says nothing about limit, request_id, starting_after, or include_archived, leaving the agent to infer their semantics from names alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (List), resource (internal Job containers), and authorization scope (visible to current principal). It is clear enough to identify the tool as a list operation, though 'internal Job containers' is somewhat jargon-heavy and it does not explicitly contrast with sibling tools like job_postings_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to choose this tool over siblings such as yardstick_jobs_read or yardstick_job_postings_list. The description does not state prerequisites, exclusion criteria, or a reason to prefer this tool for a particular case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_jobs_prospect_matchesList prospect matches for a jobA
Read-onlyIdempotent
Inspect

List deterministic Talent CRM prospect matches for one Job. Read-only; includes evidence, caveats, and blocked lifecycle states without outreach, conversion, import, or AI ranking.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes
request_idNo

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations that already declare read-only/idempotent/non-destructive, the description adds substantive behavioral context: matches are deterministic, and the response includes evidence, caveats, and blocked lifecycle states. It also clarifies what the tool does not do (outreach, conversion, import, AI ranking), giving the agent a realistic expectation of the tool's boundaries.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the primary purpose, then adds scope constraints efficiently. The 'Read-only' clause is redundant given the annotations, but it is not distracting. Overall, every sentence earns its place with minimal waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core purpose and exclusion scope well, but with no output schema it does not describe the response format, pagination, or ordering. The request_id parameter is left ambiguous, and the meaning of 'evidence, caveats, and blocked lifecycle states' is only hinted at. The tool is callable with a job_id, but an agent cannot fully anticipate the return structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description implies that job_id identifies the job being matched but provides no detail on the request_id parameter. With 0% schema coverage, request_id remains completely unexplained, and even job_id lacks format or example context. The description fails to compensate for the sparse schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and a specific resource ('deterministic Talent CRM prospect matches for one Job'), which immediately distinguishes it from generic lists like prospects_list or applications_list. Mentioning 'Talent CRM' and 'for one Job' leaves no ambiguity about what the tool targets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives contextual guidance by enumerating exclusions ('without outreach, conversion, import, or AI ranking'), which implicitly conveys that this tool is not for initiating actions or AI-ranked results. However, it does not explicitly name alternative sibling tools or state when to prefer one over the other.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_jobs_readRead a jobA
Read-onlyIdempotent
Inspect

Read one internal Job container by public id.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes
request_idNo

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds mild context about the resource being an 'internal Job container' and identified by 'public id', but does not disclose response behavior, error cases, or permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. Every word earns its place, and the key scoping constraint ('by public id') appears immediately after the action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with supportive annotations and only one required parameter, the description is nearly sufficient. The main gap is the undocumented optional request_id, but it is not required for invoking the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry parameter meaning. It clarifies that job_id is a public identifier, but request_id is left completely unexplained. The primary required parameter is meaningfully described, while the optional one is not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Read') and resource ('one internal Job container'), and further scopes to 'by public id'. This clearly distinguishes it from list/create/update siblings and from job_postings_read via the 'internal' qualifier.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for reading a single job when its public id is known, but it does not explicitly state when to prefer this over yardstick_jobs_list or other job-related reads. No exclusions or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_jobs_updateUpdate a jobC
DestructiveIdempotent
Inspect

Update one internal Job container with schema-bound public API fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNo
job_idYes
statusNo
locationNo
departmentNo
request_idNo
descriptionNo
department_idNo
location_typeNo
idempotency_keyNo

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already indicate readOnlyHint=false, destructiveHint=true, and idempotentHint=true, so the safety profile is externally declared. The description adds only the notion that updates are constrained to schema-bound public API fields, not internal state. It does not describe the overwrite semantics or what destructive consequences might occur.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler, front-loaded with the action and resource. It is concise while conveying the core boundary of updating only public API fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an update tool with ten parameters, no output schema, and no parameter descriptions, this description is far too sparse. An agent cannot determine required fields, partial-update behavior, or the effect on existing job data from the description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not mention job_id, status, title, or any other field by name. 'Schema-bound public API fields' is too generic to compensate for ten undocumented parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: update a Job container. It distinguishes the tool from sibling create/read/archive actions, though 'internal Job container' and 'schema-bound public API fields' are slightly jargon-heavy. It is clearer than a tautology but not as explicit as enumerating affected fields.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus jobs_archive, jobs_close, jobs_attach_artifact, or any other sibling. The description does not state prerequisites, when an update is appropriate, or when an alternative should be chosen.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_opportunities_listList opportunitiesA
Read-onlyIdempotent
Inspect

List read-only opportunity workflow views visible to the current principal.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
request_idNo
starting_afterNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the 'visible to the current principal' scoping detail, which is useful behavioral context beyond the annotations. However, it does not disclose whether the result is paginated, what the response shape is, or whether the list is ordered. With annotations covering the core safety traits, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is front-loaded with the verb and resource, and includes the key scoping qualifier. There is zero waste; every word earns its place. The description is appropriately sized for a simple list tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with annotations covering safety and idempotency, the description is mostly complete. However, it does not clarify what 'opportunity workflow views' means, whether the result is paginated, or how the three parameters interact. The lack of an output schema means the agent has no information about the return shape, but for a list tool this is a moderate gap rather than a critical one.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden for parameter meaning, but it does not mention limit, request_id, or starting_after at all. The parameter names themselves are fairly self-explanatory (limit, starting_after are common pagination parameters), and the schema provides type and constraints. The description adds no semantic value beyond what the schema already implies, so the baseline 3 for a simple list tool is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List') and resource ('opportunity workflow views') and adds a scoping qualifier ('visible to the current principal'). It is clear enough to distinguish from the sibling tools like yardstick_opportunities_read and yardstick_opportunities_next_action, though it does not explicitly name them. The phrase 'workflow views' is slightly ambiguous—it could mean a list of views rather than a list of opportunities—but the title 'List opportunities' anchors the intended meaning.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a read-only listing use case and the 'visible to the current principal' qualifier gives some context about scope, but it does not explicitly state when to use this tool versus alternatives like yardstick_opportunities_read or yardstick_opportunities_next_action. There is no mention of pagination usage or when the limit/starting_after parameters should be used. The guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_opportunities_next_actionCheck the next action on an opportunityC
Idempotent
Inspect

Read the next action state for an opportunity without mutating it.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
opportunity_idYes

TDQS

C2.9/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description claims the operation is read-only ('Read... without mutating it'), but the annotations declare readOnlyHint: false, which directly contradicts that claim. While idempotentHint: true and destructiveHint: false somewhat support a safe read, the readOnlyHint conflict is a serious inconsistency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler or redundant restatement of the tool name. It front-loads the core action and adds the key non-mutation qualifier efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no documentation of what 'next action state' means or what the returned data looks like, the description leaves a meaningful gap. The annotation contradiction also undermines agent confidence in the tool's side effects. A simple read tool needs at least some indication of response shape or domain meaning.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it does not explain either parameter. 'opportunity_id' is somewhat self-explanatory from its name, but 'request_id' is entirely unexplained, leaving a required-adjacent parameter ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb, 'Read', and a specific resource, 'the next action state for an opportunity,' making it immediately clear what the tool operates on. The phrase 'without mutating it' and the focus on 'next action state' distinguish it from broader opportunity read/list tools like yardstick_opportunities_read.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is for checking the next action state, but it gives no explicit guidance on when to choose it over related tools, no prerequisites, and no mention of what request_id is for. There is no when/when-not guidance or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_opportunities_readRead an opportunityB
Read-onlyIdempotent
Inspect

Read one read-only opportunity workflow view by public id.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
opportunity_idYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds no further behavioral context (e.g., response format, authorization, or side effects) beyond a redundant 'read-only' phrase, so it contributes minimal value here.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single ten-word sentence with no filler. The main verb and object are front-loaded, and every word contributes to the meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read operation with one required parameter)Skip, this is mostly adequate, but 'workflow view' is undefined and the optional request_id lacks any semantic hint. With no output schema, the description also does not mention return content, leaving room for ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description clarifies that opportunity_id is the 'public id', partially compensating for the missing parameter documentation. However, request_id is left completely unexplained, so the compensation is incomplete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Read') and resource ('opportunity workflow view') with an identifier ('by public id'), clearly indicating a single-object read operation. It is differentiated from the list and next_action siblings in name and scope, though 'workflow view' is not fully explained.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives like yardstick_opportunities_list or yardstick_opportunities_next_action. The description only states what the tool does, leaving the agent to infer selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_people_createAdd a personCInspect

Create a person through the public Yardstick API.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
emailNo
notesNo
phoneNo
request_idNo
resume_urlNo
linkedin_urlNo
idempotency_keyNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the safety profile is partly covered. The description adds no behavioral context beyond the word 'Create,' and no mention of side effects, duplicate handling, or return values. There is no contradiction with annotations, but the description itself contributes little.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short sentence and is front-loaded with the action. 'Through the public Yardstick API' is unnecessary filler, but overall the text is efficient and easy to parse. It earns a 4 because it is concise, even though it does not carry much information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With eight parameters, zero schema descriptions, no required parameters, and no output schema, this one-sentence description is severely incomplete. An agent has no way to know which fields make sense together, what each identifier represents, how idempotency works, or what the API returns on success. This is far below the minimum needed for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description names none of the eight parameters. An agent cannot infer the meaning of request_id, idempotency_key, resume_url, linkedin_url, notes, or phone from the description. The schema gives types and constraints but no semantic guidance, and the description does not compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Create') and a resource ('a person'), which is enough to tell it apart from sibling tools like yardstick_people_list, yardstick_people_read, and yardstick_people_update. It does not go beyond the title, but it is not ambiguous or misleading. The phrase 'through the public Yardstick API' is filler rather than differentiator, so it falls just short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives such as yardstick_people_update or yardstick_prospects_create. The description simply restates the action. A tool with many siblings would benefit from at least a note about whether this creates candidates/talent-pool members versus prospects, but none is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_people_listList peopleB
Read-onlyIdempotent
Inspect

List people visible to the current principal.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
request_idNo
starting_afterNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile: readOnlyHint true, idempotentHint true, destructiveHint false. The description adds the visibility-to-current-principal context, but does not disclose pagination behavior, ordering, or default page size. With annotations handling side-effect transparency, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It names the verb and resource immediately and adds the useful authorization-scope qualifier in just a few words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list operation with no required parameters, the description is minimally viable. However, since there is no output schema and no pagination/request_id explanation, the agent is left to infer how to page through results and whether request_id affects behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden for explaining limit, starting_after, and request_id, but it does not mention any of them. The parameter names hint that limit and starting_after relate to pagination, but request_id semantics and cursor behavior are unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the verb 'List' and the resource 'people', and adds an important scope qualifier: 'visible to the current principal.' This clearly distinguishes it from single-record tools like yardstick_people_read and from other entity listers such as yardstick_prospects_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives. It does not mention that yardstick_people_read should be used for a single person, nor does it clarify how this differs from prospect or talent-pool list tools. The agent must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_people_readRead a personA
Read-onlyIdempotent
Inspect

Read one person by public id.

ParametersJSON Schema
NameRequiredDescriptionDefault
person_idYes
request_idNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already supply readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the nuance that the lookup uses a 'public id' (as opposed to an internal id), which is helpful. However, it does not disclose response format, error behavior, or any special permissions needed, but given annotation coverage, this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no filler. It front-loads the action and resource, and the identifier type is included without unnecessary words. Every part contributes to the core meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-by-ID tool, the description gives the essential action, but with no output schema, no parameter descriptions for request_id, and no detail on what fields are returned or how to interpret the response, an agent may struggle to use it correctly. The missing request_id semantics and return structure are notable gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It partially explains person_id as a 'public id' but gives no format or source for it. The request_id parameter is completely undocumented in both schema and description, leaving an agent to guess its purpose (likely correlation/tracing). The description adds meaning for one of two parameters only.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Read') and resource ('one person by public id'), clearly distinguishing it from sibling tools like yardstick_people_list (which reads multiple) and yardstick_people_create/update. The identifier type ('public id') adds precision beyond the tool name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for fetching a single person by ID, but does not explicitly state when to use this over alternatives such as yardstick_people_list or when not to use it. There is no exclusionary guidance or mention of alternative tools; the differentiation rests on the word 'one'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_people_updateUpdate a personC
DestructiveIdempotent
Inspect

Update one person with schema-bound public API fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
emailNo
notesNo
phoneNo
person_idYes
request_idNo
resume_urlNo
linkedin_urlNo
idempotency_keyNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=false, idempotentHint=true, and destructiveHint=true, so the safety profile is established by structured data. The description adds only the vague constraint 'schema-bound public API fields' and does not clarify partial update semantics, nulling behavior, or side effects. This is acceptable but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short sentence and front-loads the core action. It is efficient, though 'schema-bound public API fields' is jargon that could be clearer without adding much length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an update tool with nine parameters, no output schema, and destructive/idempotent annotations, the description is too thin. It does not explain how to identify the person, which fields are updatable, what nulls mean, or how idempotency works.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden of explaining parameters, but it does not. Property names and types are somewhat self-explanatory, yet the description adds no detail about person_id, idempotency_key, request_id, null values, or how fields interact.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action and resource: 'Update one person.' This distinguishes it from sibling people tools like create, list, and read. However, 'schema-bound public API fields' is vague and does not explain what those fields are or how the update behaves.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as people_create, people_read, or people_list. The verb 'Update' implies an existing person, but no explicit usage context, prerequisites, or exclusions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_pipelines_assign_to_jobAssign a hiring pipeline to a jobA
DestructiveIdempotent
Inspect

Assign a pipeline to a job (jobs.pipeline_template_id) or clear it with pipeline_id: null. Pipeline validated by org; job resolved by org+mode.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes
request_idNo
pipeline_idYes
idempotency_keyNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false. The description adds value by explaining the null-clear behavior, the validation by org, and the org+mode resolution. It does not explicitly state that assigning a new pipeline overwrites an existing one, but the clear option implies this. Given annotation coverage, the additional context is solid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff. The main action and clear behavior are front-loaded, with the validation details in the second sentence. Every word adds meaning, making it an efficient and well-structured description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 4 parameters, no output schema, and 0% schema param coverage, the description is incomplete. It omits the meaning of job_id, request_id, and idempotency_key, and does not mention what happens on success (e.g., return value or side effects). The validation note is helpful but not enough to cover the gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the burden falls on the description to explain all 4 parameters. It only explains pipeline_id (including null semantics) and vaguely mentions job resolution, but job_id, request_id, and idempotency_key are left undocumented. This is a significant gap for a tool with several parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the specific action: assign a pipeline to a job via the jobs.pipeline_template_id field, and explicitly covers the clear-with-null case. This differentiates it from generic job update or pipeline management tools; an agent knows exactly what this tool does and can distinguish it from siblings like yardstick_jobs_update.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear use context: assigning or clearing a pipeline on a job. It does not mention when to use an alternative (e.g., jobs_update), but the description is self-sufficient for typical usage. No exclusions or when-not cases are stated, so it earns a 4, not a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_pipelines_createCreate a hiring pipelineAInspect

Create a custom pipeline template with optional inline stages. Does not affect the org default pipeline or candidate tracking.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
slugYes
stagesNo
request_idNo
descriptionNo
idempotency_keyNo

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only indicate it is not read-only and not destructive. The description adds value by specifying that it creates a template and explicitly guarantees no side effects on the default pipeline or candidate tracking, which is a meaningful behavioral disclosure beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, using two short sentences that are front-loaded with the core purpose. There is zero redundancy and every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 6 parameters, no output schema, and zero schema descriptions, the description is grossly insufficient. It does not guide the agent on how to construct the 'stages' array, the meaning of 'slug' patterns, the use of 'idempotency_key', or any request/response details. An agent cannot reliably call this tool based on the provided description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for missing parameter explanations. It only mentions 'optional inline stages' but does not explain the required 'name' and 'slug' parameters, nor optional ones like 'request_id', 'idempotency_key', or 'description'. The description adds no semantic value for any parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create') and the resource ('a custom pipeline template'), and adds 'optional inline stages' to specify the scope. This distinguishes it from sibling pipeline tools like yardstick_pipelines_update, yardstick_pipelines_list, and yardstick_pipelines_stages_create.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context that this is for creating a custom pipeline and explicitly clarifies it does not affect the org default pipeline or candidate tracking, which is a useful exclusion. However, it does not explicitly name alternative tools or state when not to use this tool, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_pipelines_listList hiring pipelinesA
Read-onlyIdempotent
Inspect

List the organization's pipeline templates with their ordered stages. Canonical default stages are flagged canonical_locked.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and no destructive behavior, so the description adds no new safety-related trait. It does add useful context about ordered stages and the canonical_locked flag, but does not disclose further behavior such as filtering, pagination, or permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence stating the action and resource immediately, with a second sentence adding a useful data detail. There is no filler, repetition, or wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list with one optional parameter and no output schema, the description covers what is listed and key return semantics (ordered stages and canonical_locked flag). It does not mention pagination or whether inactive or archived templates are included, but these are minor for this straightforward list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, request_id, is optional and undocumented, and schema description coverage is 0%. The description does not mention it, but because request_id is generic and self-explanatory, this is not a major usability gap. Still, the description adds no parameter-level meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('List'), a specific resource ('the organization's pipeline templates'), and elaborates that ordered stages and the canonical_locked flag are included. This clearly distinguishes it from sibling read/create/update pipeline tools and other *_list tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The scope ('organization's pipeline templates') and list verb make the intended use clear against single-item read and mutation siblings. It does not explicitly name exclusions or tell the agent to prefer yardstick_pipelines_read for a single pipeline, so it falls just short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_pipelines_readRead a hiring pipelineA
Read-onlyIdempotent
Inspect

Read one pipeline template and its ordered stages by public id.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
pipeline_idYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is fully covered. The description adds that it returns 'ordered stages', which is a useful behavioral detail beyond the annotations. However, it doesn't describe what happens if the pipeline_id is not found or the response format, but for a read tool with strong annotations, this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, 12 words, front-loaded with the verb and resource. Every word earns its place. The key scoping detail ('by public id') is included. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with 2 params (1 required), no output schema, and strong annotations, the description is mostly complete. The main gap is the undocumented request_id parameter and lack of error/not-found behavior. But given the simplicity and annotation coverage, it's a minimum viable definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. The description mentions 'by public id', which maps to the pipeline_id parameter, adding meaning beyond the schema's bare 'pipeline_id' string. However, it doesn't explain the request_id parameter at all, and with 0% schema coverage, the description only partially compensates for the two parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Read') and resource ('one pipeline template and its ordered stages by public id'). It clearly identifies what the tool does. It doesn't explicitly differentiate from sibling tools like yardstick_pipelines_list, but the singular 'one' and 'by public id' make the read-by-id purpose clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: use this when you need a single pipeline template and its stages by public id. It doesn't explicitly state when to use alternatives like yardstick_pipelines_list (for listing) or yardstick_pipelines_read (if it existed). The context is clear enough for a simple read operation, but no explicit exclusions or alternatives are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_pipelines_reorder_stagesReorder hiring pipeline stagesA
DestructiveIdempotent
Inspect

Reorder all stages of a pipeline by supplying the complete stage id order. Constraint-safe; allowed for canonical stages.

ParametersJSON Schema
NameRequiredDescriptionDefault
stage_idsYes
request_idNo
pipeline_idYes
idempotency_keyNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=true, so the description does not need to repeat those. The description adds 'Constraint-safe; allowed for canonical stages,' which provides some additional context about limitations, but it is vague and does not explain what constraints are checked or what 'canonical stages' means. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, consisting of two short sentences. It front-loads the main action and does not contain any filler or redundant information. Every word serves a purpose, making it easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive mutation tool with 4 parameters and no output schema, the description is minimal. It does not mention error behavior when an incomplete stage_ids list is provided, prerequisites (e.g., pipeline must exist), or the meaning of 'constraint-safe' and 'canonical stages'. It also does not explain side effects or what the response looks like. Given the lack of schema descriptions, this is insufficient for an agent to call the tool confidently without further context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It gives meaning to stage_ids (the complete order of stage ids) and pipeline_id (the pipeline being reordered), which is helpful. However, it does not explain the optional parameters request_id and idempotency_key, nor does it detail the format or validation of stage_ids beyond 'complete order'. The description provides some semantics but not comprehensive coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action: reorder all stages of a pipeline by supplying the complete stage id order. It is specific about the verb (reorder), the resource (stages of a pipeline), and the mechanism (complete order). This distinguishes it from sibling tools like stages_create or stages_update, which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for reordering stages, not for creating or deleting them. However, it does not explicitly mention alternatives or when not to use this tool. The phrase 'Constraint-safe; allowed for canonical stages' hints at a restriction but doesn't explain when to use this vs other pipeline stage tools. Usage guidance is implied but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_pipelines_stages_createAdd a stage to a hiring pipelineBInspect

Append (or insert at a position) a stage to a pipeline with a kind and optional approval scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
slugYes
positionNo
request_idNo
stage_kindYes
is_terminalNo
pipeline_idYes
approval_scopeNo
idempotency_keyNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate a non-read-only mutation (readOnlyHint=false) and non-destructive behavior. The description adds the nuance that the stage is appended or inserted at a position and may carry an approval scope. However, it does not disclose side effects, ordering constraints, terminal-stage behavior, or idempotency semantics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly worded sentence that front-loads the core action ('Append or insert') and then adds qualifiers. There is no filler or redundant restatement of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a write operation with 9 parameters, no output schema, and minimal annotation detail, this description is too sparse. It omits how position is interpreted, how terminal kind or is_terminal interact, what idempotency_key is for, and what the caller should expect after invocation, so an agent cannot fully rely on it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate for 9 parameters but only mentions 'kind' and 'approval scope', with position only implied. It does not explain pipeline_id, name, slug semantics, position interpretation, is_terminal, request_id, or idempotency_key, leaving most of the parameter burden to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly names the action ('Append'/'insert'), the resource ('a stage to a pipeline'), and the key qualifiers (kind, approval scope). It distinguishes the operation from updating or deleting stages by the create/append wording, though it does not explicitly name sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus siblings such as yardstick_pipelines_stages_update, yardstick_pipelines_stages_delete_bind, or yardstick_pipelines_reorder_stages. It states only what the tool does, not the conditions or preconditions for choosing it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_pipelines_stages_delete_bindConfirm and delete a hiring pipeline stageB
DestructiveIdempotent
Inspect

Bind an approved pipeline-stage delete with explicit approval metadata and a matching idempotency key. Refuses while candidates remain.

ParametersJSON Schema
NameRequiredDescriptionDefault
bindingYes
stage_idYes
request_idNo
pipeline_idYes
idempotency_keyNo

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry readOnlyHint=false, destructiveHint=true, and idempotentHint=true, and the description is consistent with them. Beyond that, it adds genuinely new behavioral context: the operation requires 'explicit approval metadata', is gated by a 'matching idempotency key', and 'refuses while candidates remain' — a guard condition an agent needs before calling. No contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, primary action front-loaded and the guard condition second — every word earns its place. The structure is efficient, though the brevity itself contributes to the parameter-semantics gap; it is concise rather than complete.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a high-complexity tool — a nested required binding object, five required fields with zero schema descriptions, and no output schema — yet the description is only 24 words. It omits the two-phase preview/bind flow, what each binding field means, what the 'matching idempotency key' must match, and what a successful delete returns. The description is not complete enough for an agent to invoke this tool confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for 5 top-level parameters plus a 5-field nested binding object. The phrases 'explicit approval metadata' and 'matching idempotency key' give general meaning to the binding object and idempotency_key, but preview_hash, approved_action_key, approved_input_hash, resource_version_precondition, and request_id remain entirely unexplained. This partial compensation is too thin for a 0%-coverage schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource — 'bind an approved pipeline-stage delete' — and the title confirms this is the confirm-and-delete step for a hiring pipeline stage. It clearly conveys the approval-gated nature of the operation, but it never names the sibling yardstick_pipelines_stages_delete_preview or explains how the two-phase bind/preview pattern works, so no explicit sibling differentiation is provided.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description supplies one explicit usage condition — 'Refuses while candidates remain' — which tells an agent when the call will be rejected. However, it does not state that this bind step should follow yardstick_pipelines_stages_delete_preview, nor does it explain when to prefer the preview tool over this one. The when-to-use guidance is implied by 'approved' rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_pipelines_stages_delete_previewPreview deleting a hiring pipeline stage (nothing changed yet)C
Idempotent
Inspect

Preview deleting a pipeline stage; returns the candidate-count impact and binding fields. Canonical default stages are rejected.

ParametersJSON Schema
NameRequiredDescriptionDefault
stage_idYes
request_idNo
pipeline_idYes
idempotency_keyNo

TDQS

C2.8/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotation Contradiction: the title and description present this as a non-mutating preview ('nothing changed yet', 'preview deleting'), but the annotations declare readOnlyHint: false, suggesting the tool may mutate state. The description also does not clearly disclose the safe preview behavior in its own body, relying on the title, and the contradiction undermines trust in the tool's side-effect profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately short and front-loaded with the core action and outcome. The second sentence adds a meaningful constraint. It earns its place, though the structure is simple and the 'nothing changed yet' message appears only in the title, not the description body.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains the purpose, the key output, and a rejection rule, which is useful. But with no output schema and only 0% schema coverage, it omits details about the return shape, the meaning of 'binding fields', and the role of the optional idempotency/request parameters. It is adequate for a simple preview call but leaves gaps an agent may need to resolve.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It helps identify pipeline_id and stage_id implicitly by talking about a 'pipeline stage', but it says nothing about request_id or idempotency_key, and it does not explain how the two required parameters interact or which stage_ids are valid beyond 'canonical default stages are rejected'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: preview deleting a pipeline stage, and names the key output (candidate-count impact and binding fields). It is clear, but it does not explicitly name or contrast the sibling delete_bind tool, so differentiation relies on inference from the word 'preview' and the title.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it: before actually deleting a stage, to see impact and binding fields. It also gives one exclusion: canonical default stages are rejected. However, it does not explicitly say 'use this before delete_bind' or describe when the alternative bind tool should be chosen instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_pipelines_stages_updateEdit a hiring pipeline stageA
DestructiveIdempotent
Inspect

Edit a pipeline stage. Canonical default stages allow display-name change only; slug/stage_kind/approval_scope/is_terminal are locked.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
slugNo
stage_idYes
is_activeNo
request_idNo
stage_kindNo
is_terminalNo
pipeline_idYes
approval_scopeNo
idempotency_keyNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this as destructive and idempotent. The description adds valuable behavior beyond that: canonical default stages only allow display-name changes, and slug/stage_kind/approval_scope/is_terminal are locked. This gives the agent important expectations that the annotations do not convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler. The action is front-loaded and the critical constraint about locked fields follows immediately. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimally adequate for invoking the tool, especially with the schema and annotations available. Still, it omits what happens when locked fields are attempted, what custom stages allow, and any guidance about destructive effects beyond the annotation flag.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description partially compensates by indicating that 'display-name' corresponds to the name field and that slug, stage_kind, approval_scope, and is_terminal are locked for canonical defaults. However, it says nothing about required pipeline_id/stage_id, is_active, request_id, or idempotency_key, so several parameters remain semantically underexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Edit a pipeline stage', which is a clear verb + resource pair and matches the title. It does not explicitly name sibling tools like stages_create or stages_delete, but the update operation and stage resource are obvious enough to disambiguate at a high level.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool as opposed to creating, deleting, reordering, or reading pipeline stages. The canonical-default constraint is useful but does not explain selection criteria, prerequisites, or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_pipelines_updateUpdate a hiring pipelineA
DestructiveIdempotent
Inspect

Rename, re-describe, or toggle active for one pipeline template.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
is_activeNo
request_idNo
descriptionNo
pipeline_idYes
idempotency_keyNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already supply readOnly=false, destructiveHint=true, and idempotentHint=true, so the safety profile is covered. The description adds the intent to modify fields but doesn't disclose side effects such as what deactivating a template affects or whether any operation is irreversible; it neither contradicts nor significantly extends the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that names the resource and the three supported update operations with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutating tool with six parameters, no parameter descriptions, and no output schema, this description is too thin. It does not clarify which fields may be combined, what the response contains, or what consequences deactivating a pipeline template has, leaving an agent to infer essential call details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It maps 'rename', 're-describe', and 'toggle active' to name, description, and is_active, but it says nothing about required pipeline_id or the request_id/idempotency_key fields, and it doesn't state whether at least one field must be provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses a specific verb ('update') and resource ('pipeline template') and enumerates the exact operations: rename, re-describe, toggle active. This clearly differentiates it from related siblings like pipelines_create, pipelines_read, and pipelines_reorder_stages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The operation list implies when to use the tool (when changing name, description, or active flag), but it gives no explicit guidance on when not to use it or which alternative to prefer. It also doesn't clarify whether stage-level changes belong to pipelines_stages_update.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_prospect_activities_createLog prospect activityCInspect

Create a bounded internal prospect activity note or touchpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
metadataNo
request_idNo
occurred_atNo
prospect_idYes
source_labelNo
activity_typeNo
idempotency_keyNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the agent knows this is a mutating, non-idempotent operation. The description adds only 'bounded internal,' which hints at constraints but doesn't disclose side effects, permission requirements, or whether the activity appears immediately in list calls. No contradiction, but no meaningful additional behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no redundant fluff, which is structurally concise. However, it is under-specified for a tool with 8 parameters and no schema descriptions. The sentence does earn its place by stating purpose, but it could (and should) be longer to be genuinely useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters, 0% schema coverage, no output schema, and no usage guidance, the description is grossly incomplete. An agent cannot correctly invoke this tool without external knowledge about required fields, activity types, idempotency, and side effects. The description is far too minimal for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It fails to explain any of the 8 parameters, including required prospect_id, the meaning of activity_type values, idempotency_key usage, or the roles of body, metadata, request_id, occurred_at, and source_label. The phrase 'note or touchpoint' only loosely maps to one enum value and gives no practical parameter guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Create') and resource ('prospect activity note or touchpoint'), and 'bounded internal' distinguishes it from broader activity tools. It clearly identifies this as the creation counterpart to yardstick_prospect_activities_list. However, the phrase 'bounded internal' is vague and could confuse an agent about scope and constraints.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, no mention of prerequisites (e.g., an existing prospect), and no indication of what distinguishes it from creating a prospect, person, or other entity. The description leaves the agent without contextual clues for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_prospect_activities_listList prospect activityC
Read-onlyIdempotent
Inspect

List bounded activity records for one Talent CRM prospect.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
request_idNo
prospect_idYes
starting_afterNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered without the description. The description adds the constraint that the list is 'bounded', hinting at pagination semantics, but doesn't disclose ordering, response shape, or how the bound works. This matches the baseline where annotations carry the safety burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler. The verb and resource appear immediately. The term 'bounded' is doing deliberate work, though it could be clearer; one informative sentence is efficient without being under-specified to a fault.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 0% schema description coverage, no output schema, and pagination parameters present, the one-sentence description is insufficient. An agent cannot determine what 'bounded' means operationally (page size semantics, cursor handling via starting_after), what activity types are returned, or what the response contains. The tool is simple but still needs more detail to be reliably invoked.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It does not explain limit, starting_after, request_id, or prospect_id beyond what the schema types show. 'Bounded' loosely maps to limit/starting_after but is never made explicit, leaving the pagination contract unclear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List') and resource ('activity records for one Talent CRM prospect'), which is clear and distinguishes it from the sibling writer yardstick_prospect_activities_create. However, the adjective 'bounded' is ambiguous and no sibling is named explicitly, so it doesn't reach a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It doesn't mention that the create counterpart should be used for writing new activity records, nor any pagination-related decision points like how to retrieve the next page. The intended usage is only implied by the verb 'List'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_prospect_imports_applyConfirm and apply a prospect importA
Idempotent
Inspect

Apply an approved Prospect CRM import preview with preview_hash and explicit row decisions for advisory matches.

ParametersJSON Schema
NameRequiredDescriptionDefault
decisionsNo
import_idYes
request_idNo
preview_hashYes
idempotency_keyNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already disclose that the tool is idempotent and non-destructive. The description adds context about the prerequisite ('approved') and the requirement for explicit row decisions, which goes beyond the annotations. It does not fully describe side effects (e.g., creating or linking prospect records), but the decision enum in the schema covers this.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the action and key inputs without any fluff or repetition. Every phrase earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a complex decisions array and requires a workflow (dry-run → approve → apply), but the description assumes knowledge of that flow. It does not explain how to obtain preview_hash, the meaning of import_id, how decisions are applied, or what the return value is (no output schema). This is incomplete for an agent to safely call the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain all parameters. It only mentions preview_hash and row decisions, leaving import_id (required), request_id, and idempotency_key unexplained. This is a significant gap for correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Apply'), a clear resource ('approved Prospect CRM import preview'), and key inputs ('preview_hash' and 'explicit row decisions'). It differentiates itself from siblings like prospect_imports_dry_run by using 'apply' versus 'dry_run', so an agent can immediately tell this is the committing step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'approved preview' clearly implies the tool should be used only after a preview has been generated and approved, providing context for when to call it. However, it does not explicitly name alternatives or state when *not* to use it, leaving some inference to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_prospect_imports_dry_runPreview a prospect import (no records written)B
Idempotent
Inspect

Preview a structured-row Prospect CRM import. JSON rows only; no raw CSV/resume file reads, outreach, application conversion, source ranking, or silent person merge.

ParametersJSON Schema
NameRequiredDescriptionDefault
rowsYes
metadataNo
request_idNo
source_labelNo
idempotency_keyNo

TDQS

B3.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description and title present a non-mutating preview ('Preview... no records written'), while the annotation readOnlyHint=false says the tool is not read-only; that directly conflicts with the described no-write behavior. The otherwise useful exclusions (no CSV/resume, no silent merge) cannot compensate for the contradictory safety signal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences front-load the purpose and pack exclusions into a tight list. There is no filler or repeated schema detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a rich nested schema, five parameters, and no output schema, the description does not say what the preview returns, how validation errors/results are presented, or how idempotency_key/metadata affect behavior. The exclusions help scope the operation, but an agent cannot predict the invocation outcome.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the prose must carry parameter meaning, but it only clarifies that rows must be JSON and that files are not accepted. It does not explain idempotency_key, metadata, source_label, request_id, or field semantics like pool_ids vs pool_names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action and object ('Preview a structured-row Prospect CRM import') and immediately draws boundaries with exclusions ('no raw CSV/resume file reads, outreach, application conversion, source ranking, or silent person merge'). This separates it from the many preview/import/dry-run siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear context for use: this is the JSON-rows-only, dry-run preview path, not a raw file import or an action like outreach/conversion. It does not explicitly name the apply counterpart as an alternative, so the routing guidance is good but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_prospect_imports_readRead a prospect import batchB
Read-onlyIdempotent
Inspect

Read one Prospect CRM import dry-run/apply batch by public id.

ParametersJSON Schema
NameRequiredDescriptionDefault
import_idYes
request_idNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description's 'Read' is consistent. It adds that the batch is accessed 'by public id' and covers both dry-run and apply batches, but does not describe error behavior, response format, or what happens if the batch is not found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that states the verb and resource without any filler. Every word contributes to the purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with one required parameter, the description is adequate but incomplete. It lacks explanation of the optional request_id, what the response contains, and any edge-case behavior. Annotations cover safety, but the description doesn't fully equip the agent for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain the parameters. It implies import_id is the public id but never explicitly names it, and request_id is entirely omitted. The description provides minimal value beyond the schema's field names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (Read), the resource (Prospect CRM import dry-run/apply batch), and the key identifier (public id). It distinguishes from the sibling apply/dry-run tools by being a read operation, though it does not explicitly call out alternatives like yardstick_ats_imports_read.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus siblings like prospect_imports_dry_run or apply, nor when the optional request_id parameter should be provided. The context implies a read scenario but no alternatives or conditions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_prospects_convert_bindConfirm and convert a prospect into an applicationB
DestructiveIdempotent
Inspect

Bind an approved prospect conversion preview with explicit approval metadata and matching idempotency key.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNo
bindingYes
request_idNo
prospect_idYes
source_labelNo
job_posting_idYes
idempotency_keyNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is non-read-only, destructive, and idempotent, so the description does not need to restate those. It adds useful context that approval metadata and a matching idempotency key are required to execute the conversion. It does not, however, explain what destructive effect the conversion has, such as whether the prospect is removed or archived.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler and is appropriately front-loaded with the main action. It is concise, though its brevity comes at the cost of explaining important semantics like what 'bind' means and how the binding object is obtained.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex tool with seven parameters, a nested required binding object, no output schema, and zero schema descriptions. The description does not explain the preview-to-bind workflow, how approval metadata is obtained, failure conditions, or the post-conversion state. It is not complete enough for an agent to understand the operation's place in the broader convert flow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the absence of parameter documentation. It only vaguely references 'approval metadata' and 'matching idempotency key', which gestures at the binding object and idempotency_key relationship, but it does not explain the required nested fields, note, source_label, or request_id. An agent would struggle to construct a valid request from this description alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: 'Bind an approved prospect conversion preview', and the title clarifies the outcome is converting a prospect into an application. This distinguishes it as the confirm/execute counterpart to the preview tool, though 'bind' alone is somewhat jargon-heavy and the description does not explicitly say the prospect becomes an application.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'approved prospect conversion preview' implies this is the second step after a preview has been generated, and 'matching idempotency key' implies a required pairing. However, the description never explicitly names the preview alternative or states when not to use this tool, so the usage guidance is only implied rather than direct.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_prospects_convert_previewPreview converting a prospect into an application (nothing changed yet)A
Idempotent
Inspect

Preview conversion of one Prospect into one canonical Application; bind fields are rejected and no outreach/import/merge occurs.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNo
request_idNo
prospect_idYes
source_labelNo
job_posting_idYes
idempotency_keyNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already include idempotentHint and destructiveHint, and the description adds that no outreach/import/merge occurs and bind fields are rejected. However, it does not explicitly state that no persistent changes are made or describe what result is returned, which is significant for a preview tool; the readOnlyHint is false, adding ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, front-loaded with the core purpose and scoped with exclusions. No redundant words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 6 parameters and no output schema, but the description doesn't state what a preview result looks like, how errors occur, or whether any state changes happen. It leaves the agent to infer too much for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description was expected to compensate, but it only hints at prospect_id and job_posting_id via 'Prospect' and 'Application'. It does not explain note, request_id, source_label, or idempotency_key, nor what 'bind fields' refers to.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Preview conversion'), the resource ('one Prospect into one canonical Application'), and distinguishes from binding by noting 'bind fields are rejected'. This is specific and allows an agent to differentiate it from convert_bind and other preview tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for non-destructive preview before binding, but it does not explicitly name the alternative (convert_bind) or state when to use preview vs bind. No exclusion conditions are given beyond 'bind fields rejected', so usage guidance is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_prospects_createAdd a prospectCInspect

Create Talent CRM prospect relationship state for an existing person.

ParametersJSON Schema
NameRequiredDescriptionDefault
person_idYes
request_idNo
source_labelNo
owner_user_idNo
idempotency_keyNo
last_reviewed_atNo
last_contacted_atNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false and destructiveHint=false, so the description does not need to restate that this is a non-destructive write. It adds one useful behavioral constraint—'for an existing person'—implying person_id must reference an already-created person, but it does not disclose behavior around idempotency, failure modes, or what happens if the person already has a prospect state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single tight sentence with no filler and the key action front-loaded. It is concise, though brevity comes at the cost of omitting crucial parameter and usage details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 7 parameters, 0% schema description coverage, no output schema, and no usage guidance, a one-sentence description is grossly insufficient. An agent has no way to understand what 'prospect relationship state' means, how to populate the optional fields, or what a successful response looks like.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden of explaining the 7 parameters. It explains none of them: person_id is only implicitly referenced, and request_id, source_label, owner_user_id, idempotency_key, last_reviewed_at, and last_contacted_at are entirely unexplained. An agent cannot infer their meaning or formatting from the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Create') and resource ('Talent CRM prospect relationship state') and scopes it to 'an existing person', which distinguishes it from people_create (which creates a person) and prospects_update (which modifies an existing prospect). The term 'relationship state' is somewhat jargony, 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives like yardstick_prospects_update, yardstick_prospects_convert_bind, or yardstick_people_create. There is no mention of prerequisites (e.g., the person must already exist) or conditions that would make a different sibling tool more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_prospects_listList prospectsB
Read-onlyIdempotent
Inspect

List active Talent CRM prospects visible to the current principal.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
request_idNo
owner_user_idNo
starting_afterNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds useful context: results are limited to active prospects and to those visible to the current principal. It does not disclose pagination behavior, filtering semantics, or response shape, but the core behavioral traits are communicated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The entire description is a single, front-loaded sentence with no wasted words. It names the resource, scope, and visibility constraint efficiently, earning its place without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with four parameters, no output schema, and zero parameter documentation, the description is too thin. It lacks any mention of pagination (starting_after, limit), owner filtering (owner_user_id), request correlation (request_id), or what the response contains. The annotations cover safety, but the practical calling context is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description provides no explanation for any of the four parameters (limit, request_id, owner_user_id, starting_after). With no structured descriptions, the description is responsible for clarifying these, but it names none of them, leaving an agent to guess at pagination, filtering, and idempotency semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (List), the resource (Talent CRM prospects), and the scope (active, visible to the current principal). This distinguishes it from sibling tools like yardstick_people_list and yardstick_applications_list because it names the exact entity type and the filtering context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'List active Talent CRM prospects visible to the current principal' implies when to use the tool: whenever the agent needs the current principal's visible active prospects. However, it gives no explicit exclusions, prerequisites, or guidance on when to choose this over related tools such as yardstick_prospects_read or yardstick_prospect_activities_list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_prospects_outreach_create_draftDraft a prospect outreach email for reviewB
Idempotent
Inspect

Create a pending review prospect outreach email draft. Sending stays on email draft send and requires communications:send.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
subjectNo
request_idNo
prospect_idYes
job_posting_idNo
idempotency_keyNo
outreach_intent_keyNo
personalization_instructionNo

TDQS

B3.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description adds useful behavioral context: the created draft is pending review, and actual sending is deferred to the email draft send step and requires 'communications:send'. This clarifies side effects and permission expectations. There is no contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and front-loaded with the core purpose. Both sentences earn their place, though the phrase 'Sending stays on email draft send' is awkwardly worded. No unnecessary detail is included.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 parameters, 0% schema description coverage, and no output schema, this description is far from complete. It communicates the high-level workflow but leaves critical invocation details—what each parameter means, what the response contains, and how the pending-review draft is referenced afterward—unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no parameter-level meaning. There are 8 parameters including opaque ones like request_id, idempotency_key, outreach_intent_key, and personalization_instruction, none of which are explained. The description completely fails to compensate for the schema's lack of documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb and resource: 'Create a pending review prospect outreach email draft.' The phrase 'pending review' adds meaningful scope and distinguishes this from an actual send operation. It does not explicitly name an alternative sibling, but the behavior is clear enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool: to create a draft for review, not to send it. 'Sending stays on email draft send' provides a useful boundary and points toward the separate send flow. However, it does not explicitly name an alternative tool or state conditions for choosing this over related prospect/email draft tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_prospects_outreach_previewPreview prospect outreach copy (nothing saved or sent)A
Read-onlyIdempotent
Inspect

Preview a one-off prospect outreach draft without creating a draft, sending email, enrolling a sequence, or creating an application.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
subjectNo
request_idNo
prospect_idYes
job_posting_idNo
idempotency_keyNo
outreach_intent_keyNo
personalization_instructionNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds value beyond those by naming the four specific actions that will NOT occur (draft creation, email send, sequence enrollment, application creation), giving concreteness to the read-only behavior. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the operation ('Preview') followed by the essential safety exclusions. Every word earns its place; there is no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 parameters, 0% schema coverage, and no output schema, the description is too thin. It does not explain what the preview returns, whether output is rendered/personalized copy, how the optional parameters shape the preview, or the role of idempotency_key/request_id. An agent has enough to know it is safe, but not enough to invoke it with confidence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description provides no parameter guidance for the 8 inputs. While body/subject/prospect_id are self-explanatory from context, request_id, idempotency_key, outreach_intent_key, personalization_instruction, and job_posting_id remain unexplained; with the schema covering nothing, the description should compensate but does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Preview a one-off prospect outreach draft') and explicitly enumerates what it does NOT do (creating a draft, sending email, enrolling a sequence, creating an application). This clearly distinguishes it from the close sibling yardstick_prospects_outreach_create_draft and other bind/apply tools, so an agent can select it without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The negative side-effect list ('without creating a draft, sending email, enrolling a sequence, or creating an application') gives a strong when-to-use signal: this is the safe, non-committal preview variant. However, it never names the alternative tool (e.g., yardstick_prospects_outreach_create_draft) explicitly or states conditions like 'use this before committing to a draft,' so a small inference gap remains.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_prospects_readRead a prospectA
Read-onlyIdempotent
Inspect

Read one Talent CRM prospect by public id.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
prospect_idYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds one useful behavioral detail: the identifier is a 'public id', which distinguishes from internal ids. It does not describe return format or any side effects, but for a simple read operation with these annotations, this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no filler. It is front-loaded with the core action and resource, and it is appropriately sized for a simple read tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read operation with no output schema, the description is mostly adequate but leaves a few gaps: it does not mention what the response contains (the prospect object) or any authentication requirements, though these may be assumed. Given the simplicity and the annotations, it is close to complete but not fully detailed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for both parameters. It clarifies that prospect_id is a 'public id', which is valuable, but it provides no information about request_id (optional, presumably a request correlation id). With 0% coverage, the description should explain all parameters; it covers only one, so it is incomplete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Read'), a specific resource ('prospect'), and a specific scope ('one ... by public id'). It clearly distinguishes from siblings like yardstick_prospects_list (which reads many) and yardstick_prospects_create (which creates).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool: when you have a specific public id and need a single prospect. It does not explicitly name alternatives or state when not to use it, but the context is clear from the verb and resource. It could benefit from an explicit pointer to list/create/update tools, but it is not misleading.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_prospects_updateUpdate a prospectC
DestructiveIdempotent
Inspect

Update bounded Talent CRM prospect relationship fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNo
prospect_idYes
source_labelNo
owner_user_idNo
archived_reasonNo
idempotency_keyNo
last_reviewed_atNo
last_contacted_atNo
next_follow_up_atNo
next_follow_up_noteNo
relationship_statusNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds 'bounded' scope, which signals that only relationship fields are affected, but it does not disclose the destructive behavior implied by destructiveHint=true, such as archiving a prospect via relationship_status or archived_reason. The annotations already carry the safety profile, so this is not a complete failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no fluff. It is concise, though the phrase 'bounded Talent CRM prospect relationship fields' is slightly awkward and could be clearer.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 11 parameters, no output schema, and a destructive hint, the description is too sparse to fully orient an agent. It lacks information about required fields, update semantics, retry behavior, and how archiving/review/follow-up fields interact.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only says 'relationship fields' without explaining what those fields are, which fields can be set together, or the role of idempotency_key/request_id. The schema provides types and enums, but not enough semantic guidance for an 11-parameter update tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Update') and the resource ('prospect'), and narrows the scope to 'relationship fields,' which helps distinguish it from broader prospect operations like create/read/list. It is not as strong as explicitly naming a sibling, but it is specific enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool instead of alternatives such as yardstick_prospects_convert_bind or yardstick_people_update. The description implies updating prospect relationship data, but it does not state exclusions or conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_talent_pool_members_addAdd a prospect to a talent poolA
Idempotent
Inspect

Add an existing prospect to a Talent CRM pool.

ParametersJSON Schema
NameRequiredDescriptionDefault
pool_idYes
request_idNo
prospect_idYes
idempotency_keyNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the mutation and idempotency profile is covered. The description adds that the prospect must already exist but does not disclose behaviors such as duplicate handling, failure modes, or what happens to associated data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no superfluous words. The action is front-loaded and the phrase 'existing prospect' adds meaningful context without bulk.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple add operation, the description covers the core action, but with no output schema and two undocumented optional parameters, the agent is left unsure about the meaning of request_id and idempotency_key and about the expected result of the call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the parameters. While pool_id and prospect_id are inferable from the wording, request_id and idempotency_key receive no explanation, leaving a material gap for a tool with four parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Add') and resource ('existing prospect to a Talent CRM pool'), clearly distinguishing the add operation from sibling tools like yardstick_talent_pool_members_list and yardstick_talent_pool_members_remove. It is immediately obvious what this tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by naming the action and resource, and the word 'existing' narrows eligibility. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention any preconditions or exclusions beyond the implicit 'existing prospect'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_talent_pool_members_listList talent pool membersB
Read-onlyIdempotent
Inspect

List active prospect memberships for one Talent CRM pool.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
pool_idYes
request_idNo
starting_afterNo

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds behavioral context beyond annotations: it specifies 'active' memberships (implying filtering by status) and 'for one Talent CRM pool' (scoping to a single pool). These are useful details not present in the annotations, providing additional insight into the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words, and the key action is front-loaded ('List active prospect memberships'). It is appropriately concise for a simple operation, though it could be slightly more informative without becoming verbose. The structure is clear and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema and the schema has 4 parameters with 0% description coverage, the description is incomplete. It fails to explain pagination parameters, the required pool_id, or what constitutes an 'active' membership. For a list operation, an agent would need to know how to handle limits and cursors, which are absent. The description covers only the basic action, leaving significant gaps for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no information about any of the four parameters (limit, pool_id, request_id, starting_after). It does not mention that pool_id is required, nor does it explain pagination (limit/starting_after) or the purpose of request_id. With low coverage, the description must compensate but fails to do so, leaving parameters entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list', the resource 'prospect memberships', and the scope 'for one Talent CRM pool'. It distinguishes from siblings like talent_pool_members_add and talent_pool_members_remove, and from talent_pools_list (which lists pools, not members). The purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage is implied by the description: you call this to list members of a specific pool. However, there is no explicit guidance on when to use this vs alternatives (e.g., when you need all members vs. active ones, or when to use a different listing tool). The description doesn't mention exclusions or alternative conditions, so it relies on the agent to infer the appropriate context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_talent_pool_members_removeRemove a prospect from a talent poolC
DestructiveIdempotent
Inspect

Remove an active prospect membership from a Talent CRM pool.

ParametersJSON Schema
NameRequiredDescriptionDefault
pool_idYes
request_idNo
prospect_idYes

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=true, covering the core safety profile. The description adds only the qualifier 'active' but does not disclose consequences (e.g., permanence of removal, effect on prospect data) or permission requirements. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, brief sentence with no filler or redundant phrasing. It is front-loaded and wastes no words, though it is terse enough to lack important context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that this is a destructive operation with zero parameter description coverage and no output schema, the description is too sparse. It does not explain which parameters are needed, what happens when a membership is removed, or any side effects, leaving significant gaps for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description provides no explanation for pool_id, prospect_id, or request_id. It fails to compensate for the schema's lack of semantic detail, leaving the agent to infer parameter meaning solely from names and requiredness.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Remove') and resource ('active prospect membership from a Talent CRM pool'), making the tool's purpose clear. It is distinct from sibling tools like yardstick_talent_pool_members_add and yardstick_talent_pool_members_list based on the verb, though it does not explicitly name or contrast them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, prerequisites, or conditions for removal. The description only restates the action without explaining context, such as when a prospect should be removed or how this relates to add/list operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_talent_pools_createCreate a talent poolCInspect

Create a Talent CRM pool.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
request_idNo
descriptionNo
idempotency_keyNo

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already signal a non-read-only, non-idempotent, non-destructive write, and the description adds no behavioral detail beyond that. It does not explain effects of creating a pool, duplicates, permissions, or the role of idempotency_key and request_id, though it does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is short and front-loaded, but it is under-specification rather than useful conciseness: it restates the title with no added information and no structured explanation of outcomes or behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a create tool with four parameters and no output schema, the description leaves too much unsaid: no indication of what a successful response contains, how to handle retries, or what constraints apply beyond the schema. It is minimally acceptable as a stubbed description but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the free text does not compensate: none of name, description, request_id, or idempotency_key is explained. The agent has to infer even the required name field's meaning from tool context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a verb and a resource ('Create a Talent CRM pool'), so an agent can tell it is a creation tool for pools. However, it is nearly a restatement of the title and gives no sense of what a talent pool is, what it contains, or how this differs from related pool-member tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus talent_pools_list, talent_pools_read, talent_pools_update, or talent_pool_members_add. No prerequisites, duplicate-name behavior, or 'use X instead' conditions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_talent_pools_listList talent poolsA
Read-onlyIdempotent
Inspect

List Talent CRM pools visible to the current principal. Archived pools are excluded unless include_archived is true.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
request_idNo
starting_afterNo
include_archivedNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds meaningful behavior beyond annotations: visibility is scoped to the current principal and archived pools are excluded unless include_archived is true.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with no filler. The core behavior is front-loaded, and the archived-pool exception is stated efficiently in the second sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with safety covered by annotations, the description conveys the key behavioral rules: principal-scoped visibility and archived exclusion. It does not describe pagination semantics or return shape, and there is no output schema, but the operation is simple enough that the main invocation behavior is clear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does explain include_archived's effect, but it does not clarify limit, starting_after, or request_id. The names hint at pagination and correlation, but the description provides no semantics for three of the four parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List') and resource ('Talent CRM pools'), and adds scoping information: pools visible to the current principal. It also makes the archived-pool behavior explicit, which distinguishes this listing tool from read/create/update siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context by noting that archived pools are excluded by default and can be included via include_archived. It does not explicitly name alternative tools or say when not to use it, but the listing behavior is unambiguous for a list operation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_talent_pools_readRead a talent poolA
Read-onlyIdempotent
Inspect

Read one Talent CRM pool by public id.

ParametersJSON Schema
NameRequiredDescriptionDefault
pool_idYes
request_idNo

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds the scoping constraint of 'one pool by public id' but no additional behavioral context such as return shape or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. Every word adds meaning, and the core action is immediately clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimally viable for a simple read tool with strong annotations, but it omits the semantics of the optional request_id and gives no hint about the output or related list/update tools. An agent could invoke the tool correctly, but with some avoidable uncertainty.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate, but it only clarifies pool_id as a 'public id'. It does not explain the optional request_id parameter or give any format/meaning beyond what the schema already shows with type and minLength.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Read'), the resource ('one Talent CRM pool'), and the lookup method ('by public id'). It distinguishes this singleton-read from sibling tools like talent_pools_list, create, and update.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'by public id' explicitly identifies the prerequisite for using the tool, and 'one' implies a single-resource read rather than a list operation. However, it does not explicitly name alternative tools or exclusion cases, so it stops short of full guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_talent_pools_updateUpdate a talent poolC
DestructiveIdempotent
Inspect

Update bounded Talent CRM pool fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pool_idYes
archivedNo
request_idNo
descriptionNo
archived_reasonNo
idempotency_keyNo

TDQS

C2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=false and destructiveHint=true, so the agent knows this is a mutating, destructive operation. The description adds only 'bounded', which is vague and not explained; it does not disclose side effects, permission requirements, reversibility, or the role of idempotency_key/archived_reason. This adds minimal behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, which is concise, but it is under-specified. It does not front-load critical information such as which fields are updatable or the meaning of 'bounded'. The sentence takes up space without earning its place, as it offers little actionable detail beyond what the title already says.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters, a destructive annotation, and no output schema, the description is severely incomplete. It does not explain how to use archived vs archived_reason, how idempotency_key should be used, what 'bounded' means, or any success/error behavior. An agent cannot confidently call this tool correctly based on the description alone, even with schema and annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not compensate by explaining any of the 7 parameters. The phrase 'bounded fields' gives no concrete information about name, archived, description, archived_reason, or idempotency_key. An agent is left to guess parameter semantics solely from names and JSON schema constraints, which is insufficient for correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the verb 'Update' and resource 'Talent CRM pool', so an agent knows it modifies an existing pool. However, the modifier 'bounded' is ambiguous and the description does not specify which fields are updatable, making it less clear than simply stating 'update a talent pool'. It does distinguish from create/list/read siblings by the action verb, but adds little detail.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives like create/read/list. The description does not mention exclusions, prerequisites, or when a different tool would be more appropriate. The only implication is that it is for updating existing pools, which an agent could infer from the name and title, but this is not explicitly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yardstick_tasks_listList tasksB
Read-onlyIdempotent
Inspect

List Yardstick tasks visible to the current principal.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
request_idNo
starting_afterNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that the operation is read-only, idempotent, and non-destructive, so the description does not need to restate those. The added 'visible to the current principal' scoping is useful, but pagination and response behavior are not disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler or redundant restatement of the tool name. It communicates the core purpose efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple no-argument call, the description plus read-only annotations are probably sufficient. However, the lack of pagination or return-value guidance makes it incomplete for paged usage, which is a common need for a list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not compensate by explaining limit, starting_after, or request_id. An agent cannot tell what starting_after should contain or what request_id is for from this definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the exact operation and resource: 'List Yardstick tasks visible to the current principal.' It is specific and distinct from the sibling set, notably from yardstick_tasks_deep_link, and the principal scoping adds useful specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to choose this tool over alternatives, nor any mention of prerequisites, filters, or typical use cases. The scope statement is helpful but does not help an agent decide between this and other list/detail tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 185 tool updates
    • First observedyardstick_access_grants_create
    • First observedyardstick_access_grants_list
    • First observedyardstick_access_grants_read
    • First observedyardstick_access_grants_revoke
    • First observedyardstick_application_interview_sessions_ensure
    • First observedyardstick_application_interview_sessions_list
    • First observedyardstick_applications_archive_bind
    • First observedyardstick_applications_archive_preview
    • First observedyardstick_applications_create
    • First observedyardstick_applications_email_decision_apply
    • First observedyardstick_applications_email_decision_preview
    • First observedyardstick_applications_list
    • First observedyardstick_applications_read
    • First observedyardstick_applications_status_email_poc_bind
    • First observedyardstick_applications_status_email_poc_preview
    • First observedyardstick_applications_transition_bind
    • First observedyardstick_applications_transition_direct
    • First observedyardstick_applications_transition_preview
    • First observedyardstick_applications_update
    • First observedyardstick_ats_imports_apply
    • First observedyardstick_ats_imports_dry_run
    • First observedyardstick_ats_imports_read
    • First observedyardstick_audit_log_list
    • First observedyardstick_automation_rules_create
    • First observedyardstick_automation_rules_delete
    • First observedyardstick_automation_rules_list
    • First observedyardstick_automation_rules_preview
    • First observedyardstick_automation_rules_read
    • First observedyardstick_automation_rules_update
    • First observedyardstick_automation_runs_list
    • First observedyardstick_built_in_agents_configure_bind
    • First observedyardstick_built_in_agents_configure_preview
    • First observedyardstick_built_in_agents_enable_bind
    • First observedyardstick_built_in_agents_enable_preview
    • First observedyardstick_built_in_agents_list
    • First observedyardstick_built_in_agents_read
    • First observedyardstick_built_in_agents_runs
    • First observedyardstick_decision_brief_read
    • First observedyardstick_decision_brief_regenerate
    • First observedyardstick_departments_create
    • First observedyardstick_departments_invitations_create
    • First observedyardstick_departments_invitations_list
    • First observedyardstick_departments_list
    • First observedyardstick_departments_members_add
    • First observedyardstick_departments_members_list
    • First observedyardstick_departments_members_remove
    • First observedyardstick_departments_members_set_lead
    • First observedyardstick_departments_read
    • First observedyardstick_departments_update
    • First observedyardstick_email_automation_settings_read
    • First observedyardstick_email_automation_settings_update
    • First observedyardstick_email_drafts_discard
    • First observedyardstick_email_drafts_history
    • First observedyardstick_email_drafts_list
    • First observedyardstick_email_drafts_preview
    • First observedyardstick_email_drafts_read
    • First observedyardstick_email_drafts_send
    • First observedyardstick_email_drafts_update
    • First observedyardstick_email_sender_connections_list
    • First observedyardstick_email_sender_defaults_list
    • First observedyardstick_email_sender_defaults_set
    • First observedyardstick_email_sender_settings_read
    • First observedyardstick_email_template_versions_list
    • First observedyardstick_email_templates_list
    • First observedyardstick_email_templates_preview
    • First observedyardstick_email_templates_preview_customization
    • First observedyardstick_email_templates_publish
    • First observedyardstick_email_templates_read
    • First observedyardstick_email_templates_rollback
    • First observedyardstick_email_templates_validate
    • First observedyardstick_events_list
    • First observedyardstick_final_recommendation_record
    • First observedyardstick_identity
    • First observedyardstick_integrations_workspace_health_read
    • First observedyardstick_interview_plan_drafts_add_competencies
    • First observedyardstick_interview_plan_drafts_add_questions
    • First observedyardstick_interview_plan_drafts_add_rounds
    • First observedyardstick_interview_plan_drafts_add_skills
    • First observedyardstick_interview_plan_drafts_clear_competencies
    • First observedyardstick_interview_plan_drafts_clear_interview_sequence
    • First observedyardstick_interview_plan_drafts_clear_job_skills
    • First observedyardstick_interview_plan_drafts_clear_outcomes
    • First observedyardstick_interview_plan_drafts_confirm_outcomes
    • First observedyardstick_interview_plan_drafts_delete_anchors
    • First observedyardstick_interview_plan_drafts_delete_competencies
    • First observedyardstick_interview_plan_drafts_delete_questions
    • First observedyardstick_interview_plan_drafts_delete_rounds
    • First observedyardstick_interview_plan_drafts_delete_skills
    • First observedyardstick_interview_plan_drafts_generate_anchors
    • First observedyardstick_interview_plan_drafts_generate_competencies
    • First observedyardstick_interview_plan_drafts_generate_outcomes
    • First observedyardstick_interview_plan_drafts_generate_questions_directions
    • First observedyardstick_interview_plan_drafts_generate_rounds
    • First observedyardstick_interview_plan_drafts_generate_skills
    • First observedyardstick_interview_plan_drafts_list
    • First observedyardstick_interview_plan_drafts_read
    • First observedyardstick_interview_plan_drafts_update_anchors
    • First observedyardstick_interview_plan_drafts_update_competencies
    • First observedyardstick_interview_plan_drafts_update_questions
    • First observedyardstick_interview_plan_drafts_update_round_directions
    • First observedyardstick_interview_plan_drafts_update_rounds
    • First observedyardstick_interview_plan_drafts_update_skills
    • First observedyardstick_interview_plan_drafts_validate
    • First observedyardstick_interview_plans_archive
    • First observedyardstick_interview_plans_list
    • First observedyardstick_interview_plans_modify_active_bind
    • First observedyardstick_interview_plans_modify_active_preview
    • First observedyardstick_interview_plans_publish_bind
    • First observedyardstick_interview_plans_publish_preview
    • First observedyardstick_interview_plans_read
    • First observedyardstick_interview_plans_unarchive
    • First observedyardstick_interview_sessions_available_interviewers_list
    • First observedyardstick_interview_sessions_cancel
    • First observedyardstick_interview_sessions_complete
    • First observedyardstick_interview_sessions_interviewers_assign
    • First observedyardstick_interview_sessions_interviewers_list
    • First observedyardstick_interview_sessions_interviewers_unassign
    • First observedyardstick_interview_sessions_read
    • First observedyardstick_interview_sessions_readiness
    • First observedyardstick_interview_sessions_scheduling_link_generate
    • First observedyardstick_interview_sessions_scorecard_submit
    • First observedyardstick_interview_sessions_start
    • First observedyardstick_job_postings_archive_bind
    • First observedyardstick_job_postings_archive_preview
    • First observedyardstick_job_postings_create
    • First observedyardstick_job_postings_list
    • First observedyardstick_job_postings_publish_bind
    • First observedyardstick_job_postings_publish_preview
    • First observedyardstick_job_postings_read
    • First observedyardstick_job_postings_update
    • First observedyardstick_job_postings_validate
    • First observedyardstick_jobs_archive
    • First observedyardstick_jobs_attach_artifact
    • First observedyardstick_jobs_close
    • First observedyardstick_jobs_create
    • First observedyardstick_jobs_detach_artifact
    • First observedyardstick_jobs_list
    • First observedyardstick_jobs_prospect_matches
    • First observedyardstick_jobs_read
    • First observedyardstick_jobs_update
    • First observedyardstick_opportunities_deep_link
    • First observedyardstick_opportunities_list
    • First observedyardstick_opportunities_next_action
    • First observedyardstick_opportunities_read
    • First observedyardstick_people_create
    • First observedyardstick_people_list
    • First observedyardstick_people_read
    • First observedyardstick_people_update
    • First observedyardstick_pipelines_assign_to_job
    • First observedyardstick_pipelines_create
    • First observedyardstick_pipelines_list
    • First observedyardstick_pipelines_read
    • First observedyardstick_pipelines_reorder_stages
    • First observedyardstick_pipelines_stages_create
    • First observedyardstick_pipelines_stages_delete_bind
    • First observedyardstick_pipelines_stages_delete_preview
    • First observedyardstick_pipelines_stages_update
    • First observedyardstick_pipelines_update
    • First observedyardstick_prospect_activities_create
    • First observedyardstick_prospect_activities_list
    • First observedyardstick_prospect_imports_apply
    • First observedyardstick_prospect_imports_dry_run
    • First observedyardstick_prospect_imports_read
    • First observedyardstick_prospects_convert_bind
    • First observedyardstick_prospects_convert_preview
    • First observedyardstick_prospects_create
    • First observedyardstick_prospects_list
    • First observedyardstick_prospects_outreach_create_draft
    • First observedyardstick_prospects_outreach_preview
    • First observedyardstick_prospects_read
    • First observedyardstick_prospects_update
    • First observedyardstick_reporting_search
    • First observedyardstick_source_links_create
    • First observedyardstick_source_links_disable
    • First observedyardstick_source_links_list
    • First observedyardstick_source_links_read
    • First observedyardstick_talent_pool_members_add
    • First observedyardstick_talent_pool_members_list
    • First observedyardstick_talent_pool_members_remove
    • First observedyardstick_talent_pools_create
    • First observedyardstick_talent_pools_list
    • First observedyardstick_talent_pools_read
    • First observedyardstick_talent_pools_update
    • First observedyardstick_tasks_deep_link
    • First observedyardstick_tasks_list

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables interaction with the PeopleBox Applicant Tracking System (ATS) to manage candidates, positions, and recruitment pipelines. It provides tools for searching candidate profiles, adding notes, and tracking application timelines through natural language interfaces.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables users to discover applicant tracking system job boards from company domains, list open roles, detect hiring changes over time, and generate hiring summaries across multiple ATS platforms.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to search, score, and track job applications from ATS boards via MCP, with explainable matching and an append-only application history.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.