CISO Assistant MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CISO Assistant MCP Serverlist my open risk assessments"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP server with the full epistemic-graph engine contract
uv pip install "ciso-assistant-api[mcp]"
Everything (development)
uv pip install "ciso-assistant-api[all]" # or: python -m pip install "ciso-assistant-api[all]"
### Container images (`:mcp`)
One multi-stage `docker/Dockerfile` builds the MCP-only image (`--target mcp`):
| Image tag | Build target | Contents | Entrypoint |
|-----------|--------------|----------|------------|
| `${CISO_ASSISTANT_MCP_IMAGE}` | `--target mcp` | `ciso-assistant-api[mcp]` — MCP + `epistemic-graph[full]`, no agent runtime | `ciso-assistant-mcp` |
```bash
docker build --target mcp -t "${CISO_ASSISTANT_MCP_IMAGE}" docker/Available Tools
1567 toolsciso_assistant_api_accounts_saml_download_cert_retrieveApi accounts saml download cert retrieveDRead-onlyIdempotent
api_accounts_saml_download_cert_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| organization_slug | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, and the description adds nothing beyond them — no mention of what the certificate is, the returned format, or required SSO/SAML configuration state. Zero added value over 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here is under-specification rather than concision; there is no front-loaded verb-resource statement beyond the identifier echo.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, an unexplained parameter, and no prose at all, the definition leaves an agent unable to predict the response (certificate body? file?) or confirm it targets the right organization.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter organization_slug has 0% schema description coverage and the description supplies no meaning for it — no format, no example, no explanation of what organization it scopes the certificate download to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw snake_case operation id repeated verbatim, which merely restates the title/name. An agent can infer 'download SAML certificate' only by parsing the identifier itself, not from any prose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus siblings such as ciso_assistant_api_accounts_saml_generate_keys_create or ciso_assistant_api_settings_sso_retrieve. No prerequisites, exclusions, or alternatives are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_accounts_saml_generate_keys_createApi accounts saml generate keys createC
Endpoint to generate a key pair (private key + self-signed X.509 certificate).
| Name | Required | Description | Default |
|---|---|---|---|
| organization_slug | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, so the agent already knows this is a non-idempotent write. The description adds what is produced, but says nothing about whether an existing key pair is replaced or appended, whether the private key is returned in the response or stored server-side, or what permissions are required. For a non-idempotent key-generation endpoint, those omissions matter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence that front-loads the operation and enumerates the two outputs. Nothing is wasted, though the brevity is partly due to missing content rather than tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotation-level detail about return values, so the description is the only source of information about results. It omits whether the private key is returned, how it is delivered, what happens to any pre-existing key pair, and how the organization_slug scopes the operation. That leaves significant gaps for a non-idempotent generation endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there is one required parameter, organization_slug, that the description never mentions. The caller has to infer that the key pair is generated for a specific organization and what form the slug takes. With an undocumented required parameter, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: generate a key pair consisting of a private key and a self-signed X.509 certificate. That is decidely more informative than the machine-generated title 'Api accounts saml generate keys create'. It does not explicitly contrast with the sibling ciso_assistant_api_accounts_saml_download_cert_retrieve, but the difference (generation versus download) is inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this: not when setting up SAML, not on whether it should be run before configuring SSO, and no warning about what happens if keys already exist. The only hint of context is the 'saml' fragment in the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_actors_cascade_info_retrieveApi actors cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is at least covered structurally. However, the description adds nothing beyond annotations — it does not say what a 'cascade preview' returns, whether it shows impacted objects counts, or what the open-world behavior means here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single colon-terminated fragment is short but under-specified rather than concise; it reads like a truncated label rather than a front-loaded explanation. Brevity here is a liability, not a virtue.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool requiring an id and belonging to a very large family of similarly named cascade preview endpoints, the description provides essentially no context about output, scope, or usage. An agent cannot confidently invoke this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter 'id' with 0% schema description coverage, and the description provides no clarification about what the id refers to (actor id, object id, model id) or any format expectations. The description does nothing to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment 'Cascade preview:', which hints at previewing cascade effects but never states a verb+resource pairing or what is being previewed. It cannot be distinguished from the many sibling *_cascade_info_retrieve tools based on this text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance at all on when to use this tool versus the ~200 sibling cascade_info_retrieve tools or versus the standard retrieve/object_retrieve endpoints. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_actors_listApi actors listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
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 covered without the description. The description adds no behavioral context beyond a vague internal reference to 'optimized data' in a serializer context, which does not tell the caller anything about the response shape or pagination. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is technically concise, but the sentence spends its one line on framework internals rather than caller-relevant information. Brevity here comes at the cost of usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, zero parameter documentation, and a five-parameter list endpoint means the description should explain pagination, filtering, and ordering. Instead it explains a Django serializer override, leaving an agent unable to call the tool correctly beyond trying the defaults.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Five parameters (limit, offset, search, ordering, max_pages) have 0% schema description coverage and the schema types are untyped anyOf stubs, so the description carries the full burden. It explains none of them — not even that limit/offset control pagination or what search/ordering accept.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does for a caller. An agent must infer from the name that this lists actors; nothing is said about the resource, the returned collection, or how it differs from actors_retrieve or actors_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of siblings such as ciso_assistant_api_actors_object_retrieve or ciso_assistant_api_actors_cascade_info_retrieve, and no indication of prerequisites or pagination expectations. The description gives an agent nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_actors_object_retrieveApi actors object retrieveDRead-onlyIdempotent
api_actors_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing on top: no mention of what an 'actor' is, what it returns, whether permissions/tenant scoping apply, or why openWorldHint is true for what looks like a plain lookup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from under-specification rather than economy: the entire text is a bare identifier with no verb, resource description, or front-loaded purpose. Nothing earns its place because nothing informative is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with full annotation coverage and no output schema, a complete definition would still need to say what entity is fetched and what the id is. None of that is provided, so the description is inadequate even at this low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'id' has 0% schema description coverage and the description supplies no meaning for it. The agent cannot tell whether id is a UUID, an integer-like string, or some other key format, nor whether it is scoped to an organization.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name reproduced as prose ("api_actors_object_retrieve"), which is a tautology rather than a statement of purpose. An agent can infer 'retrieve an actor object' only by parsing the identifier, and nothing distinguishes it from the very similar siblings ciso_assistant_api_actors_retrieve, ciso_assistant_api_actors_list, and ciso_assistant_api_actors_cascade_info_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to use this tool, when to prefer actors_list or actors_retrieve, or what the 'object' vs plain 'retrieve' distinction means. The extremely crowded sibling set makes this absence costly, since the agent has no basis for disambiguation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_actors_retrieveApi actors retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description does add genuine value beyond the annotations by disclosing that unauthorized related fields are masked, which is important behavioral context. However, it says nothing about not-found handling or permissions requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words, but the brevity comes at the cost of under-specification rather than genuine conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieve with annotations covering safety, the description leaves the two things it uniquely must supply – which resource is returned and what the id means – unaddressed, and there is no output schema to fill that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single required 'id' parameter at 0% schema description coverage, the description must carry the burden but provides nothing – not the format, type semantics, or that the id identifies the returned object. It only implies a keyed lookup via "single object".
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a generic verb ("Return a single object") but never names the resource, so the agent must rely entirely on the tool name/title to know it returns an actor. It does not distinguish itself from the many sibling retrieve variants (actors_list, actors_object_retrieve, actors_cascade_info_retrieve).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this retrieve versus the sibling list, object_retrieve, or cascade_info tools. No prerequisites, no context, no exclusions – 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.
ciso_assistant_api_agg_data_retrieveApi agg data retrieveDRead-onlyIdempotent
api_agg_data_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description contributes nothing beyond that – no note on caching, freshness, aggregation window, permissions, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single underscore-joined identifier is not a description; there is no sentence structure and nothing is front-loaded because nothing is conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description bears the burden of explaining what the aggregate payload contains, and it explains nothing. An agent cannot determine what this endpoint returns or when it is the right call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify and the schema is trivially complete. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"api_agg_data_retrieve" merely restates the tool name with no verb, resource, or scope. "agg data" is undefined – an agent cannot tell what is aggregated (metrics, widgets, compliance scores) or over what domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternatives, no exclusions. In a catalogue of hundreds of retrieve siblings (agg_metrics, analytics_retrieve, get_metrics), there is no cue at all for selecting this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_analytics_export_xlsx_retrieveApi analytics export xlsx retrieveARead-onlyIdempotent
Export all analytics dashboard data as a multi-sheet XLSX file.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already cover read-only, idempotent, non-destructive, and open-world behavior. The description adds useful return-format context ('multi-sheet XLSX') and scope ('all analytics dashboard data'), but does not mention permissions, file delivery mechanics, or size limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence front-loads the action, resource, and output format with no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter export tool with safety annotations and no output schema, the description gives enough scope and format detail to call it correctly. Minor missing details are file delivery behavior and whether dashboard scope is user-specific.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4; there are no parameter semantics to document or compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (export), resource (analytics dashboard data), and output format (multi-sheet XLSX). It is clear against most siblings, though it does not further specify which dashboard scope is included.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states what the tool does but gives no explicit when-to-use guidance, prerequisites, or comparison to alternative analytics/export endpoints. The usage is only implied by the action itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_answers_batch_action_createApi answers batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare write (readOnlyHint=false), non-idempotent, non-destructive, and open-world, so the safety profile is known. The description adds nothing behavioral: not the supported action types, not whether the operation is atomic across objects, not the failure mode for partially valid inputs. For a bulk mutation endpoint this is a meaningful gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, but it is under-specified rather than concise — the brevity comes at the cost of every useful detail. It is at least front-loaded and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no annotations explaining returns, and an empty input schema mean the description is the only channel for operational detail — and it supplies none. An agent would not know what a valid call looks like or what it gets back, which is inadequate for a bulk mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter count is zero and schema coverage is 100%, so baseline is 3. However, the phrase 'on multiple objects' implies the caller must supply object identifiers and an action, yet the schema declares no properties and additionalProperties=false, leaving the agent with no guidance on where a payload goes. The description neither resolves that ambiguity nor describes accepted inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence effectively restates the tool name: 'batch action' on 'objects' without naming the resource (answers) or what actions are actually available. With ~100 sibling *_batch_action_create tools in the list, nothing here distinguishes this endpoint from any other batch endpoint. An agent cannot tell what it does beyond the generic write-to-collection idea.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this instead of ciso_assistant_api_answers_update, answers_destroy, answers_partial_update, or answers_create — all of which are siblings that overlap in effect. No prerequisites, no exclusions, no mention of what a batch payload must contain to be valid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_answers_cascade_info_retrieveApi answers cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered elsewhere. The description adds nothing about what a 'cascade preview' returns, what side effects (if any) it inspects, or whether it requires an existing object — no extra behavioral context at all. Nothing contradicts the annotations, but the description contributes no value beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but shortness here comes from under-specification rather than economy; the fragment conveys no actionable information. Nothing is front-loaded because nothing substantive is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A read-only retrieve tool with one undocumented parameter, no output schema, and a dense field of near-identical cascade siblings needs at minimum the resource scope, what the preview contains, and how it differs from a plain retrieve. All three are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has zero schema description coverage, and the description never explains whether this is an answer id, a cascade node id, or a parent object id. With 0% coverage the description was the only place to compensate and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a two-word fragment, 'Cascade preview:', which only vaguely gestures at returning preview information about a cascade. It never states a verb, what object is being cascaded, or how it differs from the ~40 sibling *_cascade_info_retrieve tools listed, so an agent cannot distinguish this from ciso_assistant_api_journeys_cascade_info_retrieve or the campaign/asset equivalents without reading the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use statement, no prerequisite, and no mention of alternatives. The word 'preview' faintly implies a pre-flight check, but nothing tells the agent when to call this instead of ciso_assistant_api_answers_retrieve or ciso_assistant_api_answers_object_retrieve, both of which are siblings on the same resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_answers_createApi answers createC
API endpoint for Answer CRUD.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is partly covered. The description adds nothing beyond that: it doesn't disclose what the write creates, whether duplicate answers on the same question are rejected, or what permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The sentence is short and front-loaded, but its brevity is under-specification rather than efficiency. Seven words carry no actionable information, so every word is wasted as guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque anyOf body, no output schema, and only partial annotation coverage, the definition should at minimum identify the resource shape being created. It supplies none of that, so an agent cannot construct a valid call from this description plus schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is exactly one parameter, an untyped free-form 'body' object with 0% schema description coverage, so the schema tells the agent nothing. The description does not compensate at all — it never lists the fields an Answer payload requires (question, answer text, score, etc.), leaving the request body entirely opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (Answer) and the operation family (CRUD), but restates the tool name rather than stating a specific operation. It never says this tool creates a single Answer, nor how that differs from sibling answers_update, answers_partial_update, answers_batch_action_create, or answers_destroy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: nothing about when to choose create over batch_action_create, nor any prerequisite (e.g., must the parent question/assessment exist first). With dozens of sibling answers_* endpoints, an agent gets no routing signal from 'Answer CRUD'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_answers_destroyApi answers destroyDDestructiveIdempotent
API endpoint for Answer CRUD.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=true and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing on top: no statement that deletion is permanent, no cascade/relationship consequences, no permission requirements, and 'CRUD' is imprecise for an irreversible write.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, so nothing is wasteful. But it is under-specified rather than concise — there is no front-loaded statement of the destructive action, which is the one fact worth leading with.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent-to-the-user mutation with no output schema and zero parameter documentation, the description is wholly inadequate. It never says what is removed, whether related objects are affected, or how to recover from a mistaken call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden for the single required 'id' parameter, yet it says nothing. An agent is left to guess whether the id is the Answer's primary key, a composite identifier, or whether deleting a parent answer affects child objects.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name as 'API endpoint for Answer CRUD', which describes a family of operations rather than this one. It names the resource (Answer) but never says the tool deletes something, so an agent must infer the verb from the 'destroy' suffix in the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to call this versus the many answer siblings (answers_create, answers_update, answers_partial_update, answers_list, answers_retrieve, answers_batch_action_create). No preconditions, no confirmation guidance, no mention of how records are identified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_answers_listApi answers listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| question | No | ||
| max_pages | No | ||
| requirement_assessment | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds only an internal detail about serializer context injection, which conveys no behavioral information (auth, pagination, filtering, result ordering) an agent could use, and borders on meaningless to a caller.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no verbosity, but the content is under-specified rather than concise: the one sentence is spent on an internal implementation note instead of front-loading what the tool returns or how to call it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paginated list endpoint with 8 undocumented parameters and no output schema, the description should explain what is listed, what the filters do, and how paging works. Instead it offers only a serializer-internals remark, leaving the definition functionally inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 8 parameters (id, limit, offset, search, ordering, question, max_pages, requirement_assessment) with 0% schema description coverage, so the description carries the full burden. It says nothing about any of them, leaving filter semantics, pagination behavior, and the meaning of requirement_assessment/question completely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a developer-facing docstring ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does. It implies listing but never names the resource (answers) or the operation scope in terms an agent could act on, so it only weakly distinguishes this from siblings like answers_object_retrieve or answers_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no mention of when to list answers, when to use answers_object_retrieve instead, or any preconditions. The sentence discusses an internal implementation override, which gives the agent nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_answers_object_retrieveApi answers object retrieveCRead-onlyIdempotent
API endpoint for Answer CRUD.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the description's job is to add context beyond that. It adds nothing: no indication of what the response contains, whether missing IDs 404, or how this differs from the sibling retrievers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no wasted words, which is structurally fine, but the brevity is under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with rich annotations and no output schema, the description still leaves the agent without the essentials: what identifies an Answer, what is returned, and how this endpoint differs from its near-identical siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required `id` parameter has 0% schema description coverage, and the description says nothing about what the ID refers to (answer UUID vs. ref_id) or its format. The description therefore fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint for Answer CRUD" names the resource but describes an entire CRUD family rather than the retrieve operation this tool performs, which is essentially a restatement of the name/title. It gives no way to distinguish this from the many sibling retrievers such as ciso_assistant_api_answers_retrieve, ciso_assistant_api_answers_list, or ciso_assistant_api_answers_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of any alternative. An agent cannot tell from this text when to pick this tool over the plain answers_retrieve or answers_list siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_answers_partial_updateApi answers partial updateD
API endpoint for Answer CRUD.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
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 mutation profile is known without the description. The description adds nothing beyond that - no mention of partial semantics (only supplied fields change, others are preserved), no permission requirements, and no note of the openWorldHint implication. The word 'CRUD' is slightly misleading since the tool implements only the partial-update portion of CRUD.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity comes from under-specification rather than from efficient front-loading. The single fragment sentence carries no actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an untyped body payload, no output schema, and zero parameter documentation, the description leaves the agent unable to construct a valid call. Nothing about the Answer resource shape, field semantics, or response behavior is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for 2 parameters, so the description is expected to compensate and it does not. The required 'id' is unexplained, and the 'body' parameter is an opaque object with additionalProperties=true whose expected content is never hinted at, leaving the agent with no idea what fields to send.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name in generic terms: 'API endpoint for Answer CRUD.' It never says this is a partial (PATCH-style) update of a single Answer, nor does it distinguish it from the many siblings such as ciso_assistant_api_answers_update, ciso_assistant_api_answers_create, or ciso_assistant_api_answers_destroy. An agent reading only the description would not know which operation on an Answer it performs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance is given. It doesn't say to use this instead of the full update endpoint or the batch action, and it names no preconditions such as the Answer needing to already exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_answers_retrieveApi answers retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower. The description does add one real behavioral fact beyond annotations — that fields related to unauthorized objects are masked in the response — but says nothing about required permissions or how masking is determined.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no waste, but that brevity comes at the cost of substance; the truncated phrasing ('unauthorized related fields') is terse to the point of ambiguity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and an undocumented id parameter, the description should state what resource is returned and what the object roughly contains. It only mentions masking, so an agent cannot tell what it will actually get back or confirm it is the right tool among several answers-retrieval siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required id parameter, so the description carries the burden and explains nothing about it — not the expected format, not whether it is the answer UUID. The only thing conveyed is that lookup is by a single identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns a single object and, more usefully, that unauthorized related fields are masked, which tells the agent something specific about the response. However it never names the resource being retrieved (answers), leaving that entirely to the tool name, and it does not distinguish this from the sibling ciso_assistant_api_answers_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus answers_list, answers_object_retrieve, or answers_cascade_info_retrieve, and no prerequisite or ID-lookup guidance. 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.
ciso_assistant_api_answers_updateApi answers updateDIdempotent
API endpoint for Answer CRUD.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnly=false, idempotent=true, openWorld=true, and destructive=false, and the description adds no behavioral context such as permission requirements, patch semantics, or what happens to unspecified fields. It does not contradict the annotations, but it contributes almost nothing beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but not usefully front-loaded; it is under-specified rather than concise. It does not give the agent a concrete action, object, or constraint to act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, 0% schema description coverage, an arbitrary body object, and many sibling Answer endpoints, the description is far too sparse to support correct invocation. It omits the update semantics, field handling, and distinction from partial_update.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage and the description does not explain the required id or the opaque body object. For a two-parameter update endpoint with an anyOf object body, the description leaves parameter meaning entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only "API endpoint for Answer CRUD," which restates the generic resource area rather than stating that this specific tool updates an existing Answer. It does not distinguish update from sibling tools like answers_create, answers_partial_update, or answers_destroy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this update endpoint, when to use partial_update instead, or what prerequisites are required. The many sibling Answer tools make the absence of routing guidance especially costly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_analytics_retrieveApi applied controls analytics retrieveCRead-onlyIdempotent
Aggregated analytics over the filtered applied-controls queryset.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds that the output is aggregated rather than raw rows, which is useful, but says nothing about what is aggregated, cost, or response shape. The phrase 'filtered queryset' is also unclear since the tool exposes no parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is arguably too short for the job rather than too long, but there is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is the only source of information about the return value, and it never says which metrics or dimensions the aggregates contain. For an analytics endpoint surrounded by near-identical siblings, that leaves the agent unable to predict the response or choose this tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the description carries no parameter burden and the baseline of 4 applies. The only caveat is the unexplained 'filtered queryset' phrase, which could mislead an agent into looking for filter parameters that do not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource combination ('aggregated analytics over ... applied-controls'), which is more than a restatement of the title. But it does not say which aggregates it returns, and the sibling list contains a dozen other applied-controls analytics endpoints (per_status, priority_chart_data, sunburst_data, impact_graph); an agent cannot distinguish this one from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus the many alternative analytics endpoints, and no prerequisite or context. The only guidance is an implied 'use this for analytics', which is not discriminating.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_autocomplete_retrieveApi applied controls autocomplete retrieveCRead-onlyIdempotent
Minimal endpoint for autocomplete selects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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. Beyond that the description adds nothing: it does not say the response is a compact id/label option set, whether it is capped or paginated, or whether it is tenant/scope-limited. The word "Minimal" is the only behavioral hint and is undefined.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so nothing is wasted. It is well under any length concern; the issue is under-specification rather than verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Zero parameters and no output schema means the description is the only place an agent could learn what comes back from an autocomplete call and how large it is. It omits return shape, filtering behavior and any size limit, which for a parameterless retrieval endpoint leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is an empty object, so there is nothing for the description to disambiguate. Baseline 4 applies; no parameter gap exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the name's own keyword (autocomplete) without naming the resource it autocompletes — applied controls appears only in the tool name. It does not distinguish this from the many sibling autocomplete endpoints (assets, policies, vulnerabilities, cwes, security_advisories). Essentially a paraphrase of the title rather than a statement of what the tool returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"for autocomplete selects" hints at a UI-driven use case but gives no conditions for choosing it over list/retrieve siblings, no prerequisites, and no note that it is unfiltered. An agent must infer everything about when this is preferable to ciso_assistant_api_applied_controls_list or ..._retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_batch_action_createApi applied controls batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is partly covered. The description adds nothing on top: it does not say which batch actions exist, what permissions or payload are required, whether the operation is atomic or partial, or what happens on failure. For a mutation endpoint this is a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, so nothing needs trimming, but it is under-specified rather than concise. The one clause it does have is front-loaded and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A non-idempotent mutation tool with no output schema, an empty parameter schema, and dozens of near-identically named batch siblings demands far more than one generic sentence. The description leaves the agent unable to determine the request shape or the effect of the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero properties with additionalProperties=false, so there is no parameter documentation at all, and the description does not compensate by explaining how objects and the action are identified. A zero-parameter schema is the nominal baseline case, but here it is clearly a defect for a batch tool, which keeps this below 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Perform a batch action on multiple objects' is near-boilerplate: it names no resource (the applied-controls domain is only in the tool name) and no concrete action (update, delete, duplicate, assign?). Every sibling *_batch_action_create tool in this API would carry the identical line, so an agent cannot tell this one apart from frameworks, assets, or incidents batch actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this bulk endpoint versus the per-object siblings (ciso_assistant_api_applied_controls_update, _partial_update, _destroy, _duplicate_create). 'Multiple objects' hints at bulk scope but provides no condition, prerequisite, or exclusion to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_cascade_info_retrieveApi applied controls cascade info retrieveCRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered structurally. The description contributes only the vague notion of a 'cascade preview' and says nothing about what cascade data is returned, its scope, or why one would preview before destroying.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words and a colon is under-specification rather than conciseness; there is no front-loaded statement of purpose or behavior for a reader to anchor on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only preview tool with one opaque parameter and no output schema, the description should at minimum explain what the cascade preview returns (dependent objects, counts, deletion impact). It says none of that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single 'id' parameter is undocumented in both schema and description. It is inferable that this is the applied control identifier, but the description adds no semantics (format, whether it must exist, what happens if it has no cascade).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment "Cascade preview:" which largely restates the name's 'cascade_info_retrieve' rather than stating a verb and resource. An agent can infer it previews cascade effects for an applied control, but only by leaning on the tool name, not the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus alternatives (e.g. applied_controls_destroy, applied_controls_retrieve, or the many other applied_controls_* retrieve tools). The word "preview" faintly implies a pre-deletion check, but nothing is explicit and no sibling is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_category_retrieveApi applied controls category retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows applied controls to be "edited", while annotations declare readOnlyHint=true and destructiveHint=false. That is a direct contradiction about whether the call can mutate data; the description adds nothing about scope, return shape, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence is appropriately sized, but it is generic framework boilerplate rather than front-loaded useful information — nearly every word is spent on a vague "viewed or edited" clause instead of the resource it returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only source of information about what the call yields, and it says nothing — an agent cannot know whether it returns a list of category choices, a count, or a single record. For a zero-arg retrieval endpoint, that is a substantive gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics for the description to supply; the schema is trivially complete. Baseline of 4 applies, with no compensating value added by the prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence restates the title almost verbatim ("applied controls ... viewed or edited") and never mentions the "category" dimension that distinguishes this endpoint from siblings such as ciso_assistant_api_applied_controls_retrieve, _list, or _object_retrieve. An agent cannot tell from this text that the tool is about control categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is given, despite dozens of overlapping applied-controls siblings. The only guidance implied ("viewed or edited") is misleading for a read-only endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_control_impact_retrieveApi applied controls control impact retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The phrase 'viewed or edited' implies a write capability while annotations declare readOnlyHint=true and destructiveHint=false, which is misleading for this specific retrieve endpoint. Nothing is disclosed about what data is returned or what 'impact' means, so the description actively confuses rather than clarifies 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, but it is boilerplate rather than front-loaded information. It is concise only because it says almost nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and read-only annotations already covering the safety profile, the description is the only channel for explaining what this resource is. It fails to do so, leaving the agent unable to tell what 'control impact' returns or how it differs from sibling impact endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. No parameter-level value is possible or needed here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the endpoint name ('applied controls ... viewed or edited') without explaining what the 'control impact' resource is or what a retrieve returns. It does not distinguish this from the many sibling impact endpoints such as impact_effort_retrieve, impact_graph_retrieve, or the analogous policies_control_impact_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus any of the dozens of adjacent applied_controls retrieval/impact tools. An agent has no basis for selecting it over impact_effort_retrieve or the plain retrieve endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_createApi applied controls createD
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so safety is partly covered. The description adds nothing beyond that and is actively misleading by framing a create endpoint as something that can be 'viewed', with no mention of required auth, validation errors, or what a successful creation yields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short, front-loaded sentence with no padding, so it is concisely written — but the content is boilerplate that does little work, so brevity here is a byproduct of having nothing to say.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create mutation with an unconstrained free-form body, no output schema and no annotations explaining validation, the description leaves an agent unable to construct a valid call. Nothing about required fields, side effects, or the resulting resource is communicated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single `body` parameter has 0% schema description coverage and is an untyped `anyOf` object with additionalProperties, so an agent has no idea what fields an applied control requires (name, status, category, owner, etc.). The description does not compensate in any way.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST-Framework boilerplate ('allows applied controls to be viewed or edited') and never states that this endpoint creates a record, which only the tool name and title convey. Worse, 'viewed' points toward a read operation, blurring the distinction from siblings like applied_controls_list, _retrieve, _update and _partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many applied_controls siblings (list, retrieve, update, partial_update, duplicate, merge, batch_action). An agent has to infer 'create' purely from the tool name, with no stated preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_csf_function_retrieveApi applied controls csf function retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, yet the description says the endpoint allows applied controls to be 'viewed or edited' — implying a write capability the annotations explicitly deny. It also omits that this is a zero-argument enumeration endpoint returning a fixed value list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so it is not verbose. But it spends its only clause on boilerplate ("viewed or edited") rather than front-loading the one fact an agent needs: what values this returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param, no-output-schema retrieve tool, the description must explain what the response contains (a list of CSF function labels/keys). It does not, leaving the agent unable to know it is fetching an enumeration rather than control data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes 0 parameters, so there is nothing for the description to clarify; baseline 4 applies. No missing parameter meaning can be attributed to the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence restates the endpoint name in generic terms ("allows applied controls to be viewed or edited") without saying what this specific endpoint returns. Given ~40 sibling 'applied_controls_*' endpoints, the description gives no way to tell that this one returns the CSF function choice/enumeration values rather than control records.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this endpoint versus applied_controls_retrieve, applied_controls_list, applied_controls_object_retrieve, or the parallel category/effort/priority/status enumeration endpoints. Nothing tells the agent this is the source of valid CSF function values.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_destroyApi applied controls destroyDDestructiveIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint is for viewing or editing, while annotations declare destructiveHint=true, readOnlyHint=false, and the name is 'destroy' — a direct inconsistency about whether data is removed. No mention of irreversibility, cascading effects on linked objects, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not verbose, but that sentence is a generic boilerplate line that conveys no usable information for this tool. Brevity here comes from under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world delete with no output schema and an undocumented id parameter, the description provides nothing an agent needs to call it safely. Annotations supply the only real signal that this operation removes data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, and the description says nothing about it — not what identifier form it expects, nor whether it is the applied control's primary key. The parameter is only inferable from the name and type in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (applied controls) but states the endpoint 'allows applied controls to be viewed or edited,' which is the wrong verb for a destroy endpoint. It does not distinguish this tool from siblings such as applied_controls_retrieve, _update, or _partial_update, so an agent reading only the description would not know this deletes a record.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. Worse, the text actively implies read/edit usage, which would steer an agent away from the actual deletion behavior rather than toward it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_duplicate_createApi applied controls duplicate createD
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotation contradiction, but the description omits the only behavior that matters here: that it creates a duplicate of an existing applied control, that it is non-idempotent (repeated calls produce multiple copies), and that it is an open-world write. 'Viewed or edited' discloses nothing beyond the mutation hint already implied by 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is empty rather than efficient: the single sentence is boilerplate that misdirects, so nothing in it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world mutation with no output schema and an undocumented parameter, the description should at minimum explain what gets duplicated and what 'id' refers to. It supplies neither, leaving an agent unable to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description adds nothing about the single required 'id' parameter. Critically, it does not clarify whether 'id' is the source control to be duplicated or the identifier of a new record, which is the key ambiguity for a duplicate endpoint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint 'allows applied controls to be viewed or edited', which is generic CRUD boilerplate and does not match the tool's actual operation (duplicate an applied control, per the name and path). An agent reading it would conclude this is a read/update tool, not a duplication action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all, and the description does not distinguish this from the many nearby siblings such as applied_controls_create, applied_controls_update, applied_controls_retrieve, or applied_controls_merge_create. The one signal available (duplication) is not mentioned, so the agent has no basis to select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_effort_retrieveApi applied controls effort retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint 'allows applied controls to be viewed or edited', but the annotations declare readOnlyHint=true and the tool name is a retrieve. Claiming edit capability contradicts the read-only annotation and could lead an agent to believe this mutates state. The 'effort' behavior itself (presumably returning allowed effort choices) is not disclosed at all.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, so it is concise, but it is concise boilerplate that carries no tool-specific information. Brevity here comes at the cost of substance rather than from efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and only annotations covering safety, the description is the sole source of what a caller would get back. It does not say whether the response is a list of effort values, a serialized applied-control object, or an aggregate, leaving a real gap for a read-only lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. No parameter-level misinformation is present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate: it names the resource family (applied controls) but never explains what 'effort' means in this endpoint or what it returns. It does not differentiate this tool from the many close siblings such as applied_controls_impact_effort_retrieve, applied_controls_priority_retrieve, or applied_controls_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this endpoint versus alternatives, no prerequisite or context, and no exclusion of the look-up-style siblings that return similar enum/choice data. The agent must infer everything from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_export_csv_retrieveApi applied controls export csv retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, but the description claims the endpoint allows applied controls to be 'edited', implying a write path that the annotations explicitly rule out. It adds no other behavioral context such as whether export is filtered, paginated, or scoped to a folder/domain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is concise. But the sentence is generic boilerplate that is not front-loaded toward the export behavior, so brevity comes at the cost of usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless export endpoint with no output schema, the description should at least state that a CSV file is returned and what the export covers. Instead it says nothing about return format, content, or scope, leaving the agent to infer everything from the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. However, the description also says nothing about how the export scope is determined without parameters, which is a missed opportunity rather than a schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint allows applied controls to be 'viewed or edited', which is generic boilerplate and omits the tool's actual purpose: producing a CSV export. The verb does not match the resource action implied by the name, so an agent cannot tell from the text that this returns a CSV file rather than a record view.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given, and the obviously relevant alternative, ciso_assistant_api_applied_controls_export_xlsx_retrieve, is never mentioned. The agent gets no signal about which export format to pick or what scope of data is exported.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_export_xlsx_retrieveApi applied controls export xlsx retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows applied controls to be 'viewed or edited', implying a write capability, while annotations declare readOnlyHint=true and destructiveHint=false. This is an annotation contradiction. It also omits that the response is a binary XLSX file rather than a JSON representation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded sentence with no filler or repetition. It is concise; the problem is that it is vacuous rather than verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description is the only place an agent could learn that this returns a downloadable .xlsx export of applied controls, yet it says nothing about the return format, export scope, or contents. For a zero-schema export tool this is a significant omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify about inputs and the baseline of 4 applies. No parameter-level value is lost.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that this is an 'API endpoint that allows applied controls to be viewed or edited' — it never mentions the actual operation, exporting applied controls to an XLSX file, which is only inferable from the tool name. It also fails to distinguish this from dozens of sibling applied_controls read tools (export_csv, list, retrieve, mss_xlsx).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this export rather than api_applied_controls_export_csv_retrieve, mss_xlsx_retrieve, list, or retrieve. No prerequisites, no filter/scope information, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_get_controls_info_retrieveApi applied controls get controls info retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 known; the description adds nothing about scope, filtering, or response shape. Worse, 'viewed or edited' implies a mutation capability that a zero-parameter, readOnly-hinted endpoint cannot have.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, but it is boilerplate rather than front-loaded information — it spends its only sentence on a tautology instead of the one useful fact an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameters, and no annotation-independent detail, the description leaves the agent unable to predict what comes back or when to prefer it over the many near-identical siblings. For a read-only aggregate/info endpoint in a crowded namespace, far more context is required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to explain; schema coverage is irrelevant here and the baseline of 4 applies. The description neither helps nor hurts on this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is generic DRF boilerplate that could describe dozens of endpoints in this server; it never says what 'controls info' actually returns or what distinguishes it from siblings like applied_controls_retrieve, applied_controls_control_impact_retrieve, or applied_controls_cascade_info_retrieve. It restates the resource name but not the specific operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of any alternative among the very large applied_controls sibling family. An agent has no basis for choosing this over applied_controls_retrieve or the other info/detail endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_get_gantt_data_retrieveApi applied controls get gantt data retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states the endpoint 'allows applied controls to be viewed or edited', which directly conflicts with the readOnlyHint=true and destructiveHint=false annotations. It adds no behavioral context beyond that misleading phrase — nothing about the shape of the Gantt payload, filtering, or access requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so it is not bloated. However, its brevity comes from being boilerplate rather than from being dense with useful information — it is under-specified, not economical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description carries the full burden of telling the agent what comes back (Gantt/timeline data structure, grouping, date fields) and it says nothing. For a read-only analytics endpoint in a large sibling namespace, this is substantially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the empty schema is self-explanatory and the description cannot add parameter detail. Baseline 4 applies; nothing is missing on this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate: it names the resource ('applied controls') but never mentions the actual function in the tool name — returning Gantt chart data. Worse, 'viewed or edited' suggests a CRUD endpoint rather than a single-purpose read, so an agent cannot tell what this returns or how it differs from the many sibling retrieve endpoints (get_timeline_info, get_controls_info, sunburst_data, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this versus any alternative. With dozens of sibling applied-controls analytics/retrieval endpoints, the agent gets no routing signal at all — nothing about Gantt/timeline visualization use cases or the absence of parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_get_timeline_info_retrieveApi applied controls get timeline info retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows applied controls to be 'viewed or edited', which contradicts readOnlyHint=true on a *_retrieve operation. Beyond that contradiction it discloses nothing about auth, response shape, or why timeline info is a separate endpoint. Flagged as an annotation contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so structurally it is tight. However, that brevity comes from being generic boilerplate rather than front-loading useful information, so the surviving sentence does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless retrieve operation with no output schema, the description is the only place to explain what 'timeline info' contains and when it is preferable to the sibling timeline/dashboard endpoints. It supplies none of that, leaving the agent unable to call this with intent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing for the description to clarify; baseline 4 applies. No misleading parameter claims are made, but also no compensation for the unexplained absence of even an ID filter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'API endpoint that allows applied controls to be viewed or edited' restates the resource name from the title without stating what this specific endpoint does. It never mentions 'timeline info', the actual distinguishing verb of the tool, and dozens of siblings (get_gantt_data, get_controls_info, cascade_info, list, retrieve) share the same 'applied controls' subject, so an agent cannot tell them apart from this text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this instead of any other applied-controls endpoint, no prerequisites, and no mention of what problem 'timeline info' solves. An agent would have to guess between this and ciso_assistant_api_applied_controls_get_gantt_data_retrieve or timeline_entries_list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_ids_retrieveApi applied controls ids retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint 'allows applied controls to be viewed or edited', but annotations declare readOnlyHint=true and destructiveHint=false. 'Edited' contradicts a read-only retrieve endpoint, and no real behavioral context (return shape, pagination, scope) is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, so it is concise, but the only substance in it ('viewed or edited') is misleading. Brevity does not compensate for the mismatch with the read-only annotation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no parameter schema, so the description is the only source of information about what this endpoint returns. It says nothing about the ID payload, format, or how it differs from the many other applied_controls endpoints, leaving the agent unable to use it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; no parameter claims are made or missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('applied controls') but says only that it is an 'API endpoint that allows applied controls to be viewed or edited', which is generic REST boilerplate. It never states what the 'ids' variant returns (presumably identifiers) nor distinguishes it from siblings like applied_controls_retrieve, applied_controls_list, or applied_controls_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this instead of applied_controls_list, applied_controls_retrieve, or applied_controls_object_retrieve. The agent is left to infer usage purely from the tool name suffix 'ids_retrieve'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_impact_effort_retrieveApi applied controls impact effort retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, but the description says applied controls can be 'viewed or edited'. That directly contradicts the read-only behavior and the empty input schema, making the description behaviorally misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no wasted clauses, so it is structurally concise. However, the brevity is achieved by being generic and inaccurate rather than by front-loading the specific impact-effort retrieval purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does not explain what the impact-effort retrieve endpoint returns or how it differs from sibling retrieval endpoints. Given the large number of applied-control siblings and the absent output schema, the description leaves important context missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema description coverage is 100%, so there are no parameter semantics for the description to explain. The baseline for zero-parameter tools applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('applied controls') but uses a generic verb phrase ('viewed or edited') and never mentions the specific 'impact effort' retrieve operation encoded in the tool name. It does not distinguish this endpoint from the many applied-control siblings, so an agent cannot tell what unique data it provides.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus siblings such as applied_controls_control_impact_retrieve, effort_retrieve, impact_graph_retrieve, or applied_controls_retrieve. Worse, saying it allows records to be 'edited' actively misleads an agent looking for a read operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_impact_graph_retrieveApi applied controls impact graph retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 structurally. The description instead says the endpoint allows records to be "edited", which is boilerplate inherited from a write-style endpoint and conflicts with the read-only annotation. It adds no real behavioural context such as what the graph contains or how large the payload is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, so it is not verbose. But the single sentence is boilerplate that conveys almost no information, so brevity does not translate into value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no explanation of what an "impact graph" returns, what node/edge shape to expect, or how it differs from other impact endpoints. For a read-only analytics endpoint with no parameters, the description should at least say what the graph represents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema declares zero parameters at 100% coverage, so there is nothing for the description to disambiguate. No penalty is warranted on this dimension, though the description also contributes nothing here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates boilerplate ("allows applied controls to be viewed or edited") and never mentions the impact graph that the name and endpoint promise. It does not distinguish this tool from the many sibling applied_controls_* retrieve endpoints such as control_impact_retrieve or impact_effort_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus the dozens of neighbouring applied-controls analytics endpoints. An agent has no basis for choosing it over applied_controls_control_impact_retrieve or similar graph/chart endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_linked_models_retrieveApi applied controls linked models retrieveBRead-onlyIdempotent
Return available model types that can be linked to applied controls
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false. The description adds no behavioral detail beyond the basic purpose, such as permission filtering, output shape, or whether the list is static or user-scoped. With annotations present, this is a gap rather than a contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single, front-loaded sentence with no filler. Every word contributes to identifying the returned resource and its relationship to applied controls.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only lookup endpoint with full annotation coverage, the description gives the essential return content ('available model types that can be linked to applied controls'). It does not describe the response format, but no output schema exists and the operational context is simple enough that this is only a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no parameter semantics to explain. The baseline for zero-parameter tools is a 4, and the description correctly does not invent or misstate any parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Return') and a specific resource ('available model types that can be linked to applied controls'), which distinguishes it from sibling linked-models endpoints for policies or validation flows. It is slightly less than fully specific because 'model types' is not defined, but an agent can tell what the endpoint is for.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which alternative sibling to choose. The description only states what is returned, leaving the agent to infer that it is a discovery call for linkable model types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_listApi applied controls listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| eta | No | ||
| name | No | ||
| todo | No | ||
| limit | No | ||
| owner | No | ||
| assets | No | ||
| effort | No | ||
| folder | No | ||
| offset | No | ||
| ref_id | No | ||
| search | No | ||
| status | No | ||
| eta__gt | No | ||
| eta__lt | No | ||
| category | No | ||
| eta__gte | No | ||
| eta__lte | No | ||
| findings | No | ||
| ordering | No | ||
| priority | No | ||
| eta__year | No | ||
| evidences | No | ||
| incidents | No | ||
| max_pages | No | ||
| to_review | No | ||
| eta__month | No | ||
| objectives | No | ||
| is_assigned | No | ||
| processings | No | ||
| csf_function | No | ||
| stakeholders | No | ||
| linked_models | No | ||
| control_impact | No | ||
| progress_field | No | ||
| risk_scenarios | No | ||
| filtering_labels | No | ||
| risk_assessments | No | ||
| risk_scenarios_e | No | ||
| genericcollection | No | ||
| reference_control | No | ||
| security_exceptions | No | ||
| findings_assessments | No | ||
| compliance_assessments | No | ||
| requirement_assessments | No |
TDQS
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 only a serializer-performance note, which conveys no caller-relevant behavior such as pagination, filtering semantics, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is pure implementation jargon and does not front-load the tool's actual operation. Brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 45-parameter list endpoint with no output schema and no parameter documentation needs far more: the entity listed, pagination model, filter conventions, and ordering syntax. The description supplies none of it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 45 parameters at 0% schema description coverage, and the description explains none of them — not limit/offset pagination, not the eta__gt/eta__lt filter operators, not ordering, not search. This is the largest gap in the definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names only an internal implementation detail ('override the list method to inject optimized data into the serializer context') rather than stating that it lists applied controls. An agent reading it learns nothing about the resource, scope, or what a call returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this list endpoint versus the dozens of sibling applied-controls tools (autocomplete, export_csv, ids, per_status, object_retrieve). Usage can only be inferred from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_merge_createApi applied controls merge createC
Merge N source applied controls into 1 target. See
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag this as a non-read-only, non-idempotent operation, so the description's job is to say what mutation actually occurs — and it does not. It never states whether source applied controls are deleted, archived, or have their links/evidences reattached to the target, nor whether the merge is reversible. The terminal "See" hints at documentation that was never included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is brief, but brevity here comes from truncation rather than discipline: the second sentence is a bare "See" with no referent, which is dead weight and signals an incomplete definition. The one substantive clause is front-loaded, which saves it from a 1.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation that consolidates several records into one, with an empty input schema and no output schema, an agent needs to know what input shape is expected and what happens to the merged sources. Neither is provided, and the description is visibly cut off. Inadequate for the operation's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema declares zero properties with additionalProperties=false, so there is truly nothing for the schema to document. The baseline for 0 params applies, but a merge operation with an empty schema is surprising and the description does not explain how source IDs and the target ID are supplied. A 3 reflects that it neither helps nor misleads.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Merge N source applied controls into 1 target" names a specific verb (merge) and resource (applied controls), which is enough to distinguish it from the many list/retrieve siblings. However the sentence that follows is literally just "See" — a truncated dangling reference — so the scope description ends mid-thought. It is a specific but incomplete statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to merge rather than update/duplicate/destroy (e.g. ciso_assistant_api_applied_controls_duplicate_create, _update, _destroy, or the parallel _policies_merge_create). No prerequisites, no exclusion criteria, and no note that the operation consumes multiple records.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_mss_xlsx_retrieveApi applied controls mss xlsx retrieveARead-onlyIdempotent
Export filtered applied controls in ANSSI MonServiceSécurisé format
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 needs no restating. The description adds the output format, but it says 'filtered' while the input schema has zero properties, so an agent cannot tell how the filter is supplied — a mild mismatch worth flagging, though not a contradiction of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single nine-word sentence that front-loads the action and the format. Nothing is redundant and nothing can be trimmed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter export with no output schema, the description should say that the result is a downloadable xlsx file and clarify what 'filtered' refers to given there are no filter inputs. It establishes purpose and format but leaves the return behavior and the filtering semantics unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. The only gap is the unexplained 'filtered' wording, which hints at filtering behavior without any corresponding parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description pairs a specific verb (export) with a specific resource (applied controls) and a named output format (ANSSI MonServiceSécurisé xlsx). That format qualifier is what separates it from the sibling ciso_assistant_api_applied_controls_export_xlsx_retrieve, though the sibling is never named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the format name: call this when the deliverable must be an MSS/ANSSI-format workbook rather than the generic xlsx export or the CSV export. There is no explicit when-to-use, when-not-to-use, or named alternative (export_xlsx, export_csv), so the agent must infer the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_object_retrieveApi applied controls object retrieveDRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, yet the description says the endpoint allows applied controls to be "viewed or edited," implying a write capability the annotations deny. Beyond that contradiction, no behavioral context (lookup semantics, 404 on missing id, returned shape) is added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, but the brevity comes from under-specification rather than efficiency – nothing useful is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool with no output schema, undocumented id parameter, and dozens of near-identical siblings, the description leaves the agent without the disambiguation or return-shape context it needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, and the description says nothing about what the id refers to or its format. With low coverage the description should compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title almost verbatim ("applied controls ... viewed or edited") without stating the concrete operation. It also fails to distinguish this tool from the many sibling variants that operate on the same resource (applied_controls_retrieve, _list, _update, _partial_update, _object_retrieve), so an agent cannot tell which to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this endpoint versus the applied_controls_list, applied_controls_retrieve, or applied_controls_update siblings. The phrase "viewed or edited" is not guidance and is arguably misleading about what the tool can do.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_owner_retrieveApi applied controls owner retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows controls to be 'viewed or edited', but the annotations declare readOnlyHint=true and destructiveHint=false. This is a direct contradiction. It also omits any owner-specific behavior (what owner data is returned).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short and front-loaded, but its wording is inaccurate ('edited') and it omits the key 'owner' qualifier, so it does not earn its place as a useful description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only retrieve in a large API, the description should at least explain that it returns owner information for applied controls. Instead it provides only a generic endpoint statement that could apply to any CRUD tool, leaving the agent unable to distinguish its purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing for the description to clarify; baseline 4 applies. No parameter-level misinformation is present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('applied controls') but the verb is ambiguous ('viewed or edited') and it never mentions the 'owner' aspect that distinguishes this endpoint from siblings like applied_controls_retrieve and applied_controls_list. It reads as a generic auto-generated endpoint blurb rather than a specific retrieve operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus the numerous sibling tools (e.g., applied_controls_retrieve, applied_controls_list, applied_controls_object_retrieve). The mention of 'edited' actively misroutes the agent away from what is a read-only owner retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_partial_updateApi applied controls partial updateD
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false, but the description adds no meaningful behavioral context beyond vague "viewed or edited" wording. It does not explain partial-update semantics, required permissions, how the body is applied, or what happens to omitted fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only one boilerplate sentence, so it is concise, but it is under-specified rather than helpful. It front-loads generic endpoint language instead of the operation-specific information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an undocumented body object and no output schema, the description is far too thin. Annotations cover some safety signals, but the description still omits the core details of what partial update does and how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no information about the required id or the arbitrary body object. For a partial update tool whose body shape is entirely undocumented, this leaves parameter semantics essentially unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only says it is an API endpoint that allows applied controls to be "viewed or edited," which is generic boilerplate rather than a precise statement of partial update behavior. It does not distinguish this write operation from sibling retrieve, update, create, or destroy tools for applied controls.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this partial update versus full update, create, retrieve, or other applied-controls endpoints. The only contextual phrase, "viewed or edited," actually blurs usage rather than clarifying it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_per_status_retrieveApi applied controls per status retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, but the description says the endpoint allows controls to be 'viewed or edited.' That is a direct contradiction: a retrieve endpoint annotated read-only is described as supporting edits. It also adds no behavioral detail 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no wasted length, so it is concise. However, that brevity comes from generic boilerplate rather than front-loading the useful per-status scoping information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter retrieve endpoint with no output schema, the description should at least explain that the response is applied controls grouped by status. Instead it gives only generic CRUD phrasing and incorrectly implies edit capability, leaving an agent unable to infer what the endpoint actually returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing for the description to explain. Per the scoring baseline for 0 params, a 4 is appropriate; the gap is the missing per-status semantics, but that is a purpose issue rather than parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate: 'API endpoint that allows applied controls to be viewed or edited.' It does not state that this endpoint reports applied controls grouped by status, which is the distinguishing feature implied by the tool name and by sibling per_status endpoints. It also fails to differentiate it from ciso_assistant_api_applied_controls_status_retrieve or ciso_assistant_api_applied_controls_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives such as the plain status_retrieve endpoint, and no condition selecting this per-status variant. The only usage hint is the vague 'viewed or edited' phrasing, which is not actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_priority_chart_data_retrieveApi applied controls priority chart data retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows applied controls to be 'viewed or edited', implying mutation, while annotations declare readOnlyHint=true and destructiveHint=false for a chart-data retrieval. The annotations also already cover safety and idempotency, so the description's only contribution is a conflicting claim, with no disclosure of what the chart data contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, but it is content-free boilerplate that conveys nothing about this endpoint. Brevity here reflects under-specification rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and no useful annotations beyond the read-only profile, the description is the only source of information about what this endpoint returns and for which entity/scope the priority chart data is computed. It supplies none of that, leaving an agent unable to judge the response shape or applicability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema declares zero parameters, so there is nothing for the description to disambiguate. The baseline of 4 applies; no parameter-related information is missing because no parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic boilerplate ('API endpoint that allows applied controls to be viewed or edited') that never mentions the tool's actual purpose, which per its name is retrieving priority chart data for applied controls. It restates a generic CRUD endpoint rather than naming a specific verb and resource, giving an agent no way to distinguish it from dozens of sibling applied_controls_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many alternatives such as applied_controls_priority_retrieve, applied_controls_banner, or policies_priority_chart_data_retrieve. No prerequisites, no exclusions, and the tool name is the only cue available.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_priority_retrieveApi applied controls priority retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows applied controls to be 'viewed or edited', while annotations declare readOnlyHint=true and destructiveHint=false. That is a direct contradiction: 'edited' implies a write capability that the annotations deny. The description also adds no useful behavioral context such as what a priority retrieval returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is only one sentence, but that sentence is generic boilerplate and is partly misleading. Brevity alone does not earn a high score when the content neither specifies the operation nor distinguishes the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter retrieve endpoint, the description should at least clarify that it retrieves priority options or priority-related data for applied controls. Instead it gives a generic CRUD-style summary and contradicts the read-only annotation, leaving the agent without a clear understanding of the return or purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline of 4 applies. The description does not need to explain parameter meaning because there are none to explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic endpoint boilerplate: 'API endpoint that allows applied controls to be viewed or edited.' It names the broader resource (applied controls) but omits the actual operation in the tool name, priority retrieval. It also fails to distinguish this tool from the many sibling applied-controls retrieval endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or which sibling endpoint to choose instead. The agent is left to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_retrieveApi applied controls retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive). The description adds one genuinely useful behavioral fact not in the annotations: unauthorized related fields are masked in the response. It doesn't explain what counts as unauthorized, whether missing/unpermitted ids error out, or anything about response shape, so the added value 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, and the masking behavior is stated up front. It is efficient, though efficiency here partly reflects under-specification rather than tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve-by-id tool with no output schema and an undocumented id parameter, the description is too thin: it never states which object type is returned or that the id identifies an applied control. The masking note is the only substantive detail, leaving the agent to guess at everything else.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter (id) with 0% schema description coverage, and the description says nothing about it — no format (UUID vs. integer string), no source for obtaining it. This is a case where the description needed to compensate for the schema gap and doesn't.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns 'a single object' but never names the resource (applied controls) or states that it fetches by id — that only comes from the tool name. It also doesn't distinguish itself from close siblings like applied_controls_object_retrieve or applied_controls_list. An agent can infer the intent only by reading the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this retrieval versus the many sibling retrieve/list/object_retrieve variants for applied controls. There is no mention of prerequisites (e.g., needing a known id) or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_status_retrieveApi applied controls status retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, yet the description explicitly claims the endpoint allows applied controls to be 'edited'. That is a direct conflict with the declared read-only profile, and the description adds no other behavioral context (no return shape, no auth or scope notes).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no padding, which is structurally fine. However, the sentence is pure auto-generated filler and carries no decision-relevant content, so brevity does not translate into value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only source of information about what this call returns, and it says nothing about whether the response is a list of status values, a count, or a status breakdown. An agent cannot predict the result well enough to choose this tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is trivially complete, so there is nothing for the description to clarify. Baseline 4 applies; the description neither helps nor harms parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title in generic boilerplate ('API endpoint that allows applied controls to be viewed or edited') without saying what the 'status' resource actually is or returns. It does not distinguish this tool from dozens of near-identical siblings (applied_controls_retrieve, applied_controls_list, per_status_retrieve, priority_retrieve, category_retrieve), so an agent cannot tell what this endpoint uniquely provides.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative, despite an extremely crowded sibling namespace of applied-controls endpoints. The phrase 'viewed or edited' implies two different modes without specifying which one this call performs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_sunburst_data_retrieveApi applied controls sunburst data retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows applied controls to be "edited", while the annotations declare readOnlyHint=true and destructiveHint=false on a `_retrieve`-suffixed endpoint. That is a direct contradiction that could lead an agent to attempt a write. The description also adds nothing about what sunburst data actually contains (node hierarchy, grouping dimensions, aggregation).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short, front-loaded sentence with no padding, so structurally fine. But the sentence is pure boilerplate that carries no information, so brevity buys nothing here.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place an agent could learn that this returns sunburst (hierarchical) chart data for applied controls – and it says nothing about that. For a zero-annotation-detail chart endpoint, this leaves the caller unable to predict the response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. It neither helps nor hurts on this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that the endpoint "allows applied controls to be viewed or edited" – generic Django-REST boilerplate that never mentions sunburst data or the hierarchical chart payload the tool actually returns. Against dozens of sibling applied-controls endpoints (list, retrieve, analytics, per_status, priority_chart_data), it gives an agent no way to distinguish this tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this endpoint versus the many alternatives (e.g. applied_controls_list, applied_controls_analytics_retrieve, applied_controls_priority_chart_data_retrieve, or the findings/policies sunburst equivalents). The only implied guidance is the word "viewed", which is far too weak to route an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_sync_to_reference_control_createApi applied controls sync to reference control createD
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false, but the description adds nothing beyond generic CRUD wording. It does not say what the sync does to the applied control, whether it overwrites existing reference-control links, or whether it can fail for non-syncable controls — all critical for a non-idempotent mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, but its brevity comes from being boilerplate rather than deliberate. It is front-loaded with irrelevant template text instead of the operation's actual effect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world mutation with an undocumented required parameter and no output schema, the description supplies none of the missing information. It also fails to distinguish this tool from the several closely named sync siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description offers no meaning for the single required 'id' parameter. It is left ambiguous whether id identifies the applied control being synced, the reference control to sync to, or some sync job.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django REST boilerplate ('allows applied controls to be viewed or edited') that never mentions syncing, which is the only thing the tool name and title say it does. An agent cannot tell that this performs a sync operation to a reference control, nor how it differs from the reversed sibling reference_controls_sync_applied_controls_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is stated. There is no hint that a syncable-candidates lookup (applied_controls_syncable... / syncable_applied_controls_retrieve) should be consulted first, nor any prerequisite for the required id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_todo_retrieveApi applied controls todo retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, destructiveHint=false and idempotentHint=true, yet the description claims the endpoint allows applied controls to be "edited", directly contradicting the read-only annotation. It also discloses nothing about authentication, filtering, or the shape of the returned to-do list. Flagged as an Annotation Contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but brevity here is under-specification rather than concision: the sentence is front-loaded with a useless preamble ("API endpoint that allows...") and contains no tool-specific information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and no informative annotations beyond safety hints, the description is the only source of meaning an agent has, and it omits what the endpoint returns and what "todo" means. An agent cannot confidently choose this over the many sibling applied_controls retrieval endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters, so there is nothing for the description to expand on and the baseline is high. However, with no parameters the description carries the burden of explaining the endpoint's implicit scope (which applied controls count as "todo"), and it says nothing about it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST-Framework boilerplate: "API endpoint that allows applied controls to be viewed or edited." It never mentions the defining characteristic of this endpoint (the "todo" scope) and cannot be distinguished from the dozens of sibling tools such as applied_controls_retrieve, applied_controls_list, applied_controls_to_review_retrieve, or applied_controls_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no mention of what a "todo" applied control is, when an agent should call this instead of applied_controls_list or applied_controls_to_review_retrieve, and no prerequisites. The only hint ("viewed or edited") is not actionable and arguably points the agent toward the wrong sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_to_review_retrieveApi applied controls to review retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows applied controls to be 'viewed or edited', while annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false. This is an auto-generated ViewSet docstring that misdescribes a read-only retrieve route as supporting edits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so it is not verbose. Its brevity is undermined only by being generic boilerplate rather than by length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description is the only source of semantics, yet it omits what 'to review' means (which statuses, which assignment criteria), whether results are paginated, and what fields come back. For a filtered-list endpoint in a large sibling set, that leaves the agent guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty, so there is nothing for the description to clarify. Baseline 4 applies; no parameter documentation burden exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the generic resource (applied controls) but never explains the 'to review' scope that distinguishes this endpoint from applied_controls_list or applied_controls_retrieve. It is essentially boilerplate that repeats the resource name without stating what is actually returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this endpoint instead of the many sibling applied-controls tools (list, retrieve, todo, per_status, to_review). It does not even hint that results are scoped to controls awaiting review.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_updatables_retrieveApi applied controls updatables retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows controls to be 'edited', which conflicts with readOnlyHint=true and a zero-argument schema; the annotations carry the real safety profile. It also fails to disclose what 'updatables' means behaviorally (a filtered subset? scoped to a parent object?) or what the response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, front-loaded. It is concise, though the brevity comes at the cost of substance rather than from efficient wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no annotations on what is returned, and a name implying a filtered collection — yet the description explains none of that. For a retrieval endpoint whose whole value is the 'updatables' filter, the definition is not complete enough to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so the schema has nothing to explain and the description is not expected to compensate. Baseline 4 applies; nothing in the text adds or detracts from parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence is generic DRF boilerplate ('allows applied controls to be viewed or edited') that restates the resource but never explains the distinguishing token in the name: 'updatables'. With dozens of applied_controls siblings (list, retrieve, object_retrieve, update, partial_update), an agent has no way to tell what subset this endpoint returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the near-identical sibling ciso_assistant_api_applied_controls_list or of ciso_assistant_api_requirement_assessments_updatables_retrieve, and no hint about the context in which 'updatable' applied controls are relevant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_applied_controls_updateApi applied controls updateDIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the mutation profile: readOnlyHint=false, destructiveHint=false, idempotentHint=true, and openWorldHint=true. The description adds nothing beyond a generic 'viewed or edited' statement and does not explain the payload, required ID, or what fields can be changed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted length, so it is concise. However, the wording is vague and generic, and 'viewed or edited' does not help an agent act correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a required ID and an untyped body object, the description is far too thin. It does not explain the update semantics, accepted body contents, or expected response, so an agent cannot safely complete the call from the definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention either parameter. In particular, it gives no information about the required `id` or the arbitrary `body` object, leaving the agent unable to infer what update payload is expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint lets applied controls be 'viewed or edited,' which restates the tool name and endpoint type rather than clearly stating that this tool updates an existing applied control. It does not distinguish update from sibling tools like partial_update, retrieve, or list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this update tool versus partial_update or retrieve. The phrase 'viewed or edited' implies two different operations without explaining which this endpoint performs or when an agent should select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_asset_capabilities_batch_action_createApi asset capabilities batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety envelope is known, but the description adds nothing beyond that — it never says what an "action" does, what is mutated, whether it is reversible, or what the response contains. For a non-idempotent mutation with no output schema, this leaves the agent guessing about effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, but it is under-specified rather than concise — the brevity comes from omitting information, not from compressing it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent mutation with an empty parameter schema and no output schema, an agent needs to know the available action values, how targets are identified, and what the result looks like; none of that is present. Only the annotations partially cover the safety profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema declares zero parameters, so there is no parameter semantics for the description to compensate for; the baseline for a zero-parameter tool applies. However, the empty schema means the description could usefully have explained how objects and the action are selected, which it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title: "batch action" plus "on multiple objects" adds nothing about which resource (asset capabilities) or which actions (create/update/delete) are supported. The tool name is the only source of the 'asset capabilities' scope, and the description never repeats or clarifies it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this batch endpoint versus the many single-object siblings (asset_capabilities_create, _partial_update, _destroy) or other *_batch_action_create tools. An agent must infer the trigger condition 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.
ciso_assistant_api_asset_capabilities_cascade_info_retrieveApi asset capabilities cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 structurally. The description adds no behavioral context of its own — it does not say what the preview contains, whether it depends on object state, or how it relates to deletion. It does not contradict the annotations, but it contributes nothing beyond the title.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here is under-specification rather than conciseness — a two-word fragment ending in a colon with no front-loaded statement of purpose or scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, undocumented id, and no statement of what cascading means in this system; an agent has essentially nothing to decide when or how to call this tool beyond parsing its name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the single required `id` parameter is documented nowhere; the description does not say whether it is an asset-capability id, an asset id, or a class id. Given the low coverage, the description needed to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" gestures at a concept (cascade/deletion impact preview) but names no verb and no resource; the asset-capabilities subject only comes from the tool name. An agent reading the description alone cannot tell what is being previewed or returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use statement, no precondition, and no reference to the many sibling cascade_info_retrieve tools or to the destroy/detail siblings it presumably informs. The trailing colon implies missing content rather than guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_asset_capabilities_createApi asset capabilities createD
api_asset_capabilities_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, but the description adds no behavioral context whatsoever — not what is created, prerequisites, permissions, side effects, nor whether duplicates are rejected. For a non-idempotent write into an open-world system, the missing detail is significant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely short, but this is under-specification rather than conciseness — the one line carries no information at all and is not front-loaded with purpose or scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, an opaque free-form body, and annotations that only mark it as a non-idempotent write, the description leaves the agent unable to construct a valid call or predict the result. It is wholly inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'body' parameter is an unconstrained object with 0% schema description coverage and no required fields, so the schema gives the agent nothing about the payload shape. The description must compensate and instead offers zero information about expected body fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the identifier 'api_asset_capabilities_create' restated verbatim, with no verb-resource phrasing, no object described, and no differentiation from siblings such as api_asset_capabilities_batch_action_create or api_asset_capabilities_partial_update. An agent can only guess that it creates an asset-capability link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many sibling creation/batch/update tools, no prerequisites, and no mention of what a caller must supply. Nothing routes the agent between this and api_asset_capabilities_batch_action_create.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_asset_capabilities_destroyApi asset capabilities destroyDDestructiveIdempotent
api_asset_capabilities_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, readOnlyHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that - no indication of what gets cascaded or orphaned when an asset capability record is deleted. It does not contradict the annotations, but it contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that is under-specification rather than conciseness - the lone token is a restatement of the tool name and is not front-loaded with any useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive one-parameter operation with no output schema and 0% parameter documentation, the description should explain what is removed, whether the deletion cascades to related capabilities, and how to reference the target. It provides none of this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required 'id' parameter has 0% schema description coverage, and the description supplies no clarification of what identifier is expected (record ID, UUID, name). With the schema carrying no documentation and the description silent, an agent cannot confidently populate it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the snake_case tool name restated: 'api_asset_capabilities_destroy'. It adds no verb-plus-resource phrasing beyond what the identifier already implies, so an agent learns nothing it could not infer from the name, and nothing distinguishes it from sibling destroy tools such as api_asset_class_destroy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this deletion endpoint versus the many sibling destroy tools, nor any prerequisites, side effects, or conditions. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_asset_capabilities_listApi asset capabilities listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered by structured data; the description adds no behavioral context such as pagination behavior, default page size, or what 'optimized data' actually means to a consumer. The single claim it makes (serializer context optimization) is a server-implementation detail with no observable meaning for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but that brevity comes from under-specification rather than from saying something useful. The one sentence it does contain is about internal method overriding, so nothing is front-loaded that helps the caller.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paginated list endpoint with five undocumented parameters and no output schema, the description provides none of the information an agent needs to invoke it correctly — no resource identity, no paging contract, no search/ordering syntax.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for five parameters (limit, offset, search, ordering, max_pages), and the description supplies nothing — no filtering, paging, or ordering semantics. With low coverage, the description is required to compensate and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text 'Override the list method to inject optimized data into the serializer context' is an internal code comment; it only implies that something is listed and never names the resource (asset capabilities) that the agent would retrieve. It essentially restates the tool's operational intent without stating what the tool does for a caller.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all, no mention of sibling tools, and no conditions or prerequisites. An agent cannot tell from this text whether to call this list endpoint or any of the many other asset_capabilities tools (retrieve, object_retrieve, cascade_info, batch_action).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_asset_capabilities_object_retrieveApi asset capabilities object retrieveDRead-onlyIdempotent
api_asset_capabilities_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered by structured data. The description adds nothing beyond that — no note on permissions, lookup failure behavior for a bad id, or what the returned capabilities object contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that is under-specification rather than conciseness — a bare identifier copy with no sentence structure, no front-loaded purpose, and no information an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description would need to convey what a 'capabilities object' returns, but it does not. Combined with an undocumented required id and a crowded sibling namespace, the definition leaves an agent unable to confidently select or invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, so the schema gives no indication of whether it is a numeric PK, a UUID, or a ref_id. The description does not compensate at all, leaving the only parameter's format and semantics undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name 'api_asset_capabilities_object_retrieve', which is a tautology rather than an explanation. An agent can infer only that something called an 'asset capabilities object' is retrieved, with no plain-language statement of what the resource actually is or how it differs from siblings like ciso_assistant_api_asset_capabilities_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of the near-identical siblings (asset_capabilities_retrieve, asset_capabilities_list, asset_capabilities_cascade_info_retrieve). The agent must guess which of the many asset-capabilities endpoints is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_asset_capabilities_partial_updateApi asset capabilities partial updateD
api_asset_capabilities_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, and openWorldHint=true, but the description adds nothing about what a partial update does, which fields are mutable, whether omitted fields are preserved, or what permissions are required. It contributes zero behavioral context beyond the structured hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is only a few tokens, but that brevity comes from under-specification rather than efficiency. There is no front-loaded purpose statement to structure around.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with an entirely opaque request body, no output schema, and no annotations explaining payload semantics requires far more description than a repeated identifier. Nothing an agent needs in order to call it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description provides no parameter information, leaving the critical 'body' parameter as an unconstrained anyOf object with no explanation of expected keys. With two undocumented parameters and no compensating prose, this is the worst case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal tool identifier repeated verbatim ('api_asset_capabilities_partial_update'), with no verb or resource stated in prose. This is tautology, the definition of a 1 on this dimension, and it does not distinguish the tool from siblings such as api_asset_capabilities_update or api_asset_capabilities_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to use this tool versus the sibling full-update, create, or retrieve endpoints. The agent must infer everything from the name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_asset_capabilities_retrieveApi asset capabilities retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The one genuinely additive piece is the disclosure that unauthorized related fields are masked in the response, which is useful permission-aware behavior, but nothing is said about required permissions, missing-ID behavior, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence with no filler, but it is not front-loaded with the resource being fetched; the generic 'Return a single object' leads instead of the actual subject.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must carry the return-shape burden; it mentions masking but not what fields the asset-capability object contains, nor the identifier format. For a lookup tool in a very large sibling set, this leaves real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required 'id' parameter has 0% schema description coverage, so the description is the only place its meaning could be explained — yet it says nothing about what kind of identifier is expected (numeric PK, UUID, ref) or where to obtain it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns a single object, which is close to a restatement of the name's 'retrieve'. It never names the resource (asset capability) nor distinguishes itself from the many sibling retrievers such as asset_capabilities_object_retrieve or asset_capabilities_list, so the agent must infer scope from 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the list, object_retrieve, cascade_info, or batch variants that sit alongside it in the asset_capabilities family. No prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_asset_capabilities_updateApi asset capabilities updateDIdempotent
api_asset_capabilities_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing — no mention of what fields are replaced, whether omitted fields are cleared, or what the API returns. It does not contradict the annotations, but it contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is pure under-specification rather than efficiency: a single identifier token with no front-loaded purpose, no scoping, and no usable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque free-form body, no output schema, and zero schema documentation, the description should explain the payload contract and return behavior. It provides none of this, leaving the tool effectively unusable without trial and error.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description supplies no parameter information at all. The 'body' parameter is an untyped free-form object with additionalProperties=true, which is precisely the case where the description must explain the payload shape, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation identifier 'api_asset_capabilities_update' repeated verbatim, with no verb-plus-resource phrasing an agent could act on. It is a tautology of the tool name and distinguishes nothing from siblings such as ciso_assistant_api_asset_capabilities_partial_update or _create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or how it differs from the many sibling update/partial_update/create/destroy variants on asset capabilities. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_asset_class_batch_action_createApi asset class batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered by structured data. The description adds nothing beyond that: it does not say which actions can be applied (delete? update fields?), whether effects are reversible, or that a payload selecting objects and action type is required. For a bulk mutation endpoint this leaves a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so there is nothing to trim. However, brevity here comes from under-specification rather than discipline — one sentence is not enough to route an agent among dozens of near-identical batch endpoints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A bulk mutation tool with an empty parameter schema, no output schema, and no explanation of supported actions or payload shape leaves an agent unable to invoke it correctly. Given the density of identically named batch_action siblings, the description should at minimum state the target resource and the accepted actions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero properties with additionalProperties=false, so there are no parameters for the description to explain; baseline 4 applies. Worth noting the empty schema itself is odd for a batch action (an agent has no documented way to pass object ids or an action name), but that is a schema defect rather than a description omission.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Perform a batch action on multiple objects' restates the title in generic terms: it never names the resource (asset classes) or which batch actions exist. An agent reading only the description cannot distinguish this from the hundreds of sibling '*_batch_action_create' tools; it must fall back on the tool name to infer the target model.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this instead of siblings like asset_class_update, asset_class_partial_update, or asset_class_destroy, nor on bulk-vs-single tradeoffs. Only the word 'multiple' hints at bulk usage, which is inference rather than stated guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_asset_class_cascade_info_retrieveApi asset class cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld, so safety is covered. The description adds no behavioral context at all — not what a cascade preview contains, not whether it is computed server-side, not whether it reflects pending deletions. It does not contradict the annotations, but it contributes nothing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words are technically concise but the result is under-specification rather than tight writing; the text is a dangling fragment with a colon promising content that never follows.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read tool with an undocumented required identifier and no output schema, the description provides no information an agent needs to invoke it correctly — which id to supply and what the preview returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (id) with 0% schema description coverage, so the description carries the full burden — yet it says nothing about what the id identifies (asset class id? node id?) or its format. This is a total gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment "Cascade preview:" which hints at a preview endpoint but never names the resource or the verb precisely; the asset-class subject only comes from the tool name. An agent cannot tell from the description what cascade is being previewed or what the response represents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus ciso_assistant_api_asset_class_retrieve, asset_class_tree_retrieve, or the destroy sibling. No prerequisites, no exclusions, no context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_asset_class_createApi asset class createD
api_asset_class_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is available structurally. The description adds nothing beyond that — no mention of what payload shape is accepted, duplicate handling given non-idempotency, permission requirements, or side effects on the asset class tree. It does not contradict the annotations, but it contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely short, but this is under-specification rather than conciseness — the single token earns nothing and is not front-loaded with any useful information. There is no structure to speak of.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a mutation endpoint with an opaque free-form body, no output schema, and no annotations explaining payload semantics, the description should carry nearly the entire burden. It provides no information about required fields, relationships to the asset class hierarchy, or response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter `body` has an untyped anyOf(object|null) schema with 0% description coverage and a null default. The description does not explain what fields an asset class body requires (name, parent, ref_id, etc.), so an agent has no way to construct a valid payload from the definition alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal tool name restated as a snake_case string: "api_asset_class_create". It conveys no verb-object semantics beyond what the identifier and title already provide, and does not distinguish this create endpoint from the ~20 sibling asset_class tools (list, retrieve, update, partial_update, destroy, tree_retrieve, batch_action_create).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, no prerequisite or precondition, and no mention of alternatives such as ciso_assistant_api_asset_class_batch_action_create for bulk creation or ciso_assistant_api_asset_class_update for modification.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_asset_class_destroyApi asset class destroyDDestructiveIdempotent
api_asset_class_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the agent knows this is a destructive write. The description adds nothing beyond that—no statement of what is deleted, whether children are cascaded, or whether the operation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is the name repeated; there is no information front-loaded and no content that earns a place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive single-parameter mutation tool with no output schema, the description provides nothing an agent needs: not what is destroyed, not the id's meaning, not side effects or cascade behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single 'id' parameter, and the description supplies no meaning at all for it—not even that it is the asset class identifier to delete. With low coverage, the description is expected to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name restated: "api_asset_class_destroy". It implies deletion of an asset class only because of the embedded 'destroy' token, with no verb+resource phrasing, no scope, and no differentiation from the many other *_destroy siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, no caution, and no mention of alternatives such as the asset_class partial_update or cascade_info siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_asset_class_listApi asset class listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| limit | No | ||
| offset | No | ||
| parent | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
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 no useful behavioral context such as pagination behavior, filtering semantics, or what 'optimized data' means for the response; it only exposes an irrelevant serialization implementation detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence, so it is short, but that sentence is spent on an internal implementation note instead of the one thing a caller needs: that this lists asset classes and how to filter/page them.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An 8-parameter list endpoint with no output schema and no parameter documentation needs the description to explain filtering and pagination; instead it explains serializer context injection. Nothing an agent needs to invoke it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 8 parameters (id, name, limit, offset, parent, search, ordering, max_pages) have 0% schema description coverage, and the description says nothing about them. The burden falls entirely on the description here, and it does not compensate at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description reads as an internal developer note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does for a caller. Only the name/title ('asset_class_list') tells an agent that this lists asset classes, so the description adds no distinguishing purpose versus siblings like asset_class_retrieve or asset_class_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives (e.g. asset_class_retrieve, asset_class_object_retrieve, asset_class_tree_retrieve), and no prerequisites or scoping rules. A caller must guess that this is the enumeration endpoint from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_asset_class_object_retrieveApi asset class object retrieveDRead-onlyIdempotent
api_asset_class_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered without the description. The description adds nothing at all beyond that — not even confirmation that it returns a single asset class record by identifier.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not because it is efficient — it is a bare repetition of the tool name with no front-loaded statement of purpose. There is no structure to speak of.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, an undocumented parameter, and several near-identical sibling retrieve tools, the description leaves an agent unable to confirm what is returned or when this tool is the right call. Nothing an agent needs is supplied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter `id` with 0% schema description coverage, so the description must explain it and does not. It never clarifies whether the id is a numeric PK, UUID, or a business ref_id, which matters given this API family mixes those conventions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only "api_asset_class_object_retrieve", which restates the tool name rather than stating what it does. An agent can infer a single-object fetch from the "object_retrieve" suffix, but nothing distinguishes it from siblings like `asset_class_retrieve` or `asset_class_list`.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the very similar sibling tools (`api_asset_class_retrieve`, `api_asset_class_list`, `api_asset_class_cascade_info_retrieve`). The agent has no basis for choosing this over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_asset_class_partial_updateApi asset class partial updateD
api_asset_class_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, and the description adds nothing beyond that — no mention of what a partial update leaves untouched, what permissions are needed, or what happens to fields omitted from the body. For a mutation endpoint with a free-form body, this is a significant disclosure gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single identifier with zero waste, but this is under-specification rather than conciseness — there is no front-loaded summary, no verb-object sentence, and nothing for the reader to act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with no output schema, no annotations covering semantics, and a completely undocumented free-form body needs the description to carry the full burden. Instead the description supplies no information at all, leaving an agent unable to construct a safe call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for 2 parameters, and the description supplies no parameter information whatsoever. The critical 'body' parameter is an untyped anyOf object with additionalProperties=true, meaning neither schema nor description tells an agent which fields are valid to send.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated verbatim ("api_asset_class_partial_update"), so it conveys only that this is a partial update of an api asset class — information already in the name and title. It gives no indication of what fields can be changed or what the operation actually affects, and does not distinguish it from the sibling ciso_assistant_api_asset_class_update or ciso_assistant_api_asset_class_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to use this tool versus alternatives. An agent cannot tell from the description whether to prefer this over asset_class_update (full replace) or asset_class_create, nor what prerequisites (an existing id) are required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_asset_class_retrieveApi asset class retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), so the bar is lower. The description does add one genuinely useful behavioral fact beyond the annotations: unauthorized related fields are masked in the response. It does not say which fields get masked or what permission governs that, so the disclosure is only partial credit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded clause with no padding, so nothing is wasteful. But it is terse to the point of omission -- the one sentence spends its words on the masking side effect while leaving out the resource and parameter semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and 0% parameter coverage mean the description carries the full burden of explaining the lookup key and return shape. It only says "a single object" plus the masking note, which is not enough for an agent to call it confidently amid the many sibling retrieve/list tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required `id` parameter, so the schema provides no meaning and the description must compensate. The description never mentions `id` at all, leaving the agent to guess whether it is the asset class identifier, a slug, or a UUID.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Return a single object" states a retrieve operation and the masking behavior, but the resource (asset class) is never named in the description -- it is only inferable from the tool name. With siblings like asset_class_list, asset_class_object_retrieve and asset_class_cascade_info_retrieve present, the description does nothing to distinguish which retrieve variant this is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus asset_class_list or asset_class_object_retrieve, and no stated prerequisites. The agent must infer from the tool name alone that this fetches one asset class by id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_asset_class_tree_retrieveApi asset class tree retrieveCRead-onlyIdempotent
api_asset_class_tree_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered structurally. The description adds nothing about what the 'tree' contains, its shape, whether it is nested/hierarchical, or whether it reflects the org's asset taxonomy versus a template.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is concise only because it says nothing at all — a single slug fragment with no sentence. Under-specification, not economical writing; nothing is front-loaded because there is no content to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description is the only place an agent could learn what the returned tree looks like — and it says nothing. For a hierarchy-returning endpoint in a crowded asset-class family, that leaves the agent guessing whether to prefer this over the flat retrieve/list variants.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies; there is nothing for the description to disambiguate. Schema is a closed empty object, consistent with the description not mentioning any inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name in snake_case ('api_asset_class_tree_retrieve'), a tautology that adds no verb+resource explanation beyond the slug. It is distinguishable from siblings like asset_class_retrieve only by the word 'tree', which the description never explains (what tree, of what depth, of what objects).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this instead of the many adjacent tools (asset_class_retrieve, asset_class_cascade_info_retrieve, assets_asset_class_retrieve, frameworks_tree_retrieve). No prerequisites, no exclusions, no alternative named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_asset_class_updateApi asset class updateDIdempotent
api_asset_class_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, idempotentHint=true, destructiveHint=false, openWorldHint=true), so the description is not required to carry that burden. It still contributes nothing beyond them: no mention of what fields are replaced versus left untouched, whether omitted fields are nulled, or whether permissions are required for a mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is no waste because there is essentially no content; this is under-specification rather than conciseness. A single identifier cannot front-load anything useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with two parameters, 0% schema coverage, a free-form body, and no output schema, the description leaves every question an agent would need answered before calling it unresolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description supplies no parameter information at all. The 'body' parameter is an untyped free-form object with additionalProperties=true, so an agent has no way to learn which asset-class attributes are writable — a significant gap the description does nothing to close.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool's identifier, 'api_asset_class_update', restating the name verbatim and conveying nothing an agent could not read off the name itself. It does not say what an asset class is, what an update changes, or how it differs from the sibling asset_class_partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool rather than asset_class_partial_update, asset_class_create, or asset_class_batch_action_create. The agent must infer that 'update' means a full replacement PUT, which the description never states.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_asset_class_retrieveApi assets asset class retrieveCRead-onlyIdempotent
API endpoint that allows assets to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, but the description claims the endpoint allows assets to be "viewed or edited", advertising a write capability the annotations deny. No other behavioral context (response shape, scoping, permissions) is offered, so the only behavioral statement present is contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, which is good, but it is boilerplate rather than front-loaded information — the reader is left with an underspecified statement instead of a specific operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and an output schema absent, the description is the only place an agent could learn what this endpoint returns and when it differs from the other asset_class/asset retrieve endpoints. It supplies neither, so completeness is inadequate for its role in a very large, heavily overlapping tool set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to explain beyond the schema; baseline 4 applies. The description neither helps nor hurts here, since the empty input schema already fully specifies the call signature.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint that allows assets to be viewed or edited" names a resource but pairs it with a vague dual verb that doesn't say what the endpoint actually returns. It also never disambiguates from the near-identical siblings ciso_assistant_api_asset_class_retrieve, ciso_assistant_api_asset_class_object_retrieve, ciso_assistant_api_asset_class_list and ciso_assistant_api_assets_retrieve, so an agent cannot tell which asset-class operation this is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description contains no when-to-use context, no prerequisites, and no mention of any alternative tool. Given dozens of overlapping asset/asset_class endpoints in the sibling list, the absence of routing guidance leaves selection to guesswork.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_autocomplete_retrieveApi assets autocomplete retrieveBRead-onlyIdempotent
Minimal endpoint for autocomplete selects — skips graph traversal.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds one genuine behavioral detail — that the response is minimal and omits graph traversal — but stops short of saying what the payload actually contains (ids, labels, truncation/pagination).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the operative distinction ('skips graph traversal') front-loaded. Only mild redundancy in the phrase 'minimal endpoint', which is largely restated by the trailing clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and annotations already covering safety, the description should clarify the return shape and how an autocomplete endpoint with no search term behaves (full list? capped?). That information is absent, leaving the agent unsure what it will get back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the parameter-semantics baseline is 4. There is nothing schema-side to compensate for, and the description does not misrepresent the (empty) input surface.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys the intent (an autocomplete/lookup endpoint that is deliberately lightweight) and hints at differentiators via 'skips graph traversal', but it never names the resource (assets) or the return shape — the agent must infer 'assets' from the tool name. It is a vague-purpose statement rather than a specific verb+resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is given, and no siblings are named. The agent is left to infer that this should be preferred over ciso_assistant_api_assets_list or ciso_assistant_api_assets_retrieve for select/picker use cases, which is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_batch_action_createApi assets batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnly=false, idempotent=false, openWorld=true and destructive=false, but the description adds nothing: it never says what a 'batch action' is (create/update/delete), whether it is atomic, or whether it can partially fail. For a non-idempotent bulk mutation this is a substantial undisclosed behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, but its brevity is under-specification rather than economy; there is no front-loaded resource or action detail to anchor the call.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A bulk mutation tool with an empty input schema, no output schema, and no annotations covering payload or failure semantics needs the description to carry the load. It does not, so an agent cannot determine how to invoke it or what the result means.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero properties and additionalProperties=false, so the agent has no documented way to express which objects or which action to apply. The description does not compensate by explaining the expected batch payload (action name, object ids), leaving invocation semantics opaque despite the nominal zero-parameter baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it performs a 'batch action on multiple objects', which is effectively a restatement of the tool name suffix. It never identifies the resource (assets), and against dozens of identically named *_batch_action_create siblings an agent cannot tell what this one mutates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this batch endpoint versus the single-object assets_create/assets_update/assets_destroy tools, and no prerequisites or exclusions are given. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_batch_create_createApi assets batch create createB
Batch create multiple assets from a text list with parent-child relationships.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, open-world, non-idempotent, non-destructive mutation, so the safety profile is covered. The description adds useful context that input comes from a text list with hierarchy, but says nothing about how that text is parsed, whether the insert is atomic, or what happens to children when a parent line is malformed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the two key qualifiers (batch from text list, parent-child relationships) come early. It is efficient, though the brevity leaves real gaps that a slightly longer sentence could have closed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write operation with an empty input schema and no output schema, the description should explain the expected payload shape and hierarchy constraints. It does neither, so an agent knows the intent but not how to actually invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters the baseline would be 4, but here the empty schema (additionalProperties: false) leaves the agent with genuinely no structured guidance on how to supply data. The description is the only signal and it names 'a text list' without giving the format, delimiters, or required fields per line, so it only partly compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Batch create multiple assets') and adds a distinguishing detail absent from siblings: creation 'from a text list with parent-child relationships'. That separates it from ciso_assistant_api_assets_create (single) and ciso_assistant_api_assets_batch_action_create (batch action on existing records), though the distinction is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the tool for bulk-creating a hierarchy of assets from a textual list rather than creating them one at a time. There is no explicit 'use this instead of X when Y', no prerequisite or environment notes, and no statement of what happens with duplicates or partial failures.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_cascade_info_retrieveApi assets cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered structurally. The word 'preview' weakly suggests a non-committal look at what a cascade would affect, but the description never says what is returned, what a cascade means here, or how deep the dependency traversal goes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but this is under-specification rather than conciseness. The fragment is front-loaded but conveys no actionable content, and the trailing colon suggests the real description was truncated or lost.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, one undocumented parameter, and a truncated phrase as the entire description, an agent cannot determine what calling this returns or when it is appropriate. The definition is not complete enough to invoke the tool reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the description carries the full burden of explaining whether it is an asset UUID, a reference ID, or something else. It says nothing about the parameter; only the tool name hints it is an asset identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is effectively the fragment 'Cascade preview:', which restates the tool title/name rather than stating a verb and resource. An agent learns only that something cascade-related is previewed; it does not learn that this returns dependency/cascade information for a specific asset, nor how it differs from the many sibling *_cascade_info_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus ciso_assistant_api_assets_retrieve, assets_object_retrieve, assets_destroy, or the dozens of other cascade_info_retrieve tools. A two-word fragment with a colon gives no conditions, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_createApi assets createD
API endpoint that allows assets to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true, idempotentHint=false, so the safety profile is covered. The description adds nothing beyond a vague 'viewed or edited' phrase that mildly suggests read behavior on an annotated write endpoint, and never explains what gets created or what permission it needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence, but the brevity comes from under-specification rather than economy: the one clause it contains ('viewed or edited') conveys active misinformation about the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an unannotated-in-schema write endpoint taking a free-form body with no output schema, the description must carry the burden of explaining payload shape and effect. It says nothing about either.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'body' parameter is an opaque anyOf object with additionalProperties=true. The description provides no hint about which asset fields belong in that body, leaving the caller with nothing to construct a valid payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the resource ('assets') but pairs it with generic viewset boilerplate 'viewed or edited' rather than stating that this call creates a new asset. It gives no way to distinguish it from the many sibling assets tools (list, retrieve, update, partial_update, create variants).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus ciso_assistant_api_assets_list, _retrieve, _update, or _batch_create_create. Nothing indicates prerequisites, that the endpoint is a POST/create, or what a caller must supply.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_destroyApi assets destroyDDestructiveIdempotent
API endpoint that allows assets to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, but the description describes a view/edit endpoint and never mentions deletion, irreversibility, or required caution. This directly contradicts the destructive behavior signaled by 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and not bloated, but its only sentence is generic boilerplate that does not earn its place. Brevity does not help when the content is misleading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive one-parameter tool with no output schema, the description should at minimum state that it deletes an asset by ID. Instead it omits the deletion entirely and gives an inaccurate view/edit summary, leaving the agent without essential context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, and the description adds no information about what the ID identifies or how it is used. The description does not compensate for the missing parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint allows assets to be 'viewed or edited', but the tool is explicitly a destroy/delete operation. It neither states the actual verb (delete/destroy) nor distinguishes this tool from sibling update or retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to delete an asset, when not to, or what alternatives exist. Worse, the description implies viewing/editing rather than deletion, which could lead an agent to misuse it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_disaster_recovery_objectives_retrieveApi assets disaster recovery objectives retrieveCRead-onlyIdempotent
API endpoint that allows assets to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, but the description says the endpoint allows assets to be "viewed or edited" — the "edited" half contradicts the read-only profile. The description adds no genuine behavioral context such as whether the objectives are scoped to a single asset or returned globally.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, but it is boilerplate rather than front-loaded substance — brevity here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations describing return content, the description should say what disaster recovery objectives are returned and in what shape. It instead describes a different, generic asset resource, leaving the agent unable to predict the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is an empty object with zero parameters and 100% coverage, so there is nothing for the description to disambiguate at the parameter level. Baseline 4 applies; the only missed opportunity is noting that no asset identifier is accepted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description "API endpoint that allows assets to be viewed or edited" is a generic DRF boilerplate line that never mentions disaster recovery objectives, the actual resource in the tool name. It fails to distinguish this tool from the many sibling asset endpoints (assets_retrieve, assets_security_objectives_retrieve, assets_dora_*_retrieve).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given, and no alternative is named despite dozens of overlapping asset retrieval siblings. An agent has no signal for choosing this over ciso_assistant_api_assets_security_objectives_retrieve or assets_retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_dora_criticality_assessment_retrieveApi assets dora criticality assessment retrieveCRead-onlyIdempotent
API endpoint that allows assets to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows assets to be "edited," while the annotations declare readOnlyHint=true and destructiveHint=false on a retrieve endpoint. That is a direct conflict over whether this call mutates state, and no other behavioral context (auth, scope, response shape) is added beyond what annotations already provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, but its brevity comes from being generic boilerplate rather than front-loading useful specifics. It is concise without being informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description carries the full burden of explaining what comes back and it does not. For a DORA-criticality retrieval endpoint, an agent is left guessing at the payload and at how this differs from the dozens of sibling DORA asset endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; there is nothing for the description to clarify about inputs. It neither helps nor hurts here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates boilerplate ("API endpoint that allows assets to be viewed or edited") and never mentions the DORA criticality assessment, which is the actual resource named in the tool name. An agent cannot tell from this text whether it returns criticality levels, asset metadata, or an edit form, nor distinguish it from sibling endpoints such as ciso_assistant_api_assets_dora_discontinuing_impact_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is given; many near-identical DORA assets siblings exist and nothing routes between them. The only implicit signal is "viewed or edited," which is too vague to be actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_dora_discontinuing_impact_retrieveApi assets dora discontinuing impact retrieveDRead-onlyIdempotent
API endpoint that allows assets to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows assets to be 'edited', while the annotations declare readOnlyHint=true and destructiveHint=false — a direct contradiction. Beyond that, it adds nothing about what is returned, whether authentication/permissions are required, or what the DORA-specific payload contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, but it is stock boilerplate that conveys no tool-specific information and is front-loaded with generic framework phrasing rather than the actual purpose. Brevity here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain what a 'discontinuing impact' response looks like (e.g. a DORA qualitative/quantitative impact level) and how the asset is selected. Instead it is indistinguishable from dozens of sibling retrieve endpoints, leaving the agent unable to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to explain; the baseline for a no-parameter tool applies. (Note: the schema has no properties at all, so it is unclear how the target asset is identified — but that is a schema gap, not a description gap the agent could fix here.)
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic boilerplate ('API endpoint that allows assets to be viewed or edited') that does not mention what the tool actually retrieves: the DORA discontinuing-impact assessment for an asset. It also blurs the read-only nature implied by the name 'retrieve' by saying assets can be 'edited', so an agent cannot tell this apart from siblings like ciso_assistant_api_assets_retrieve or ciso_assistant_api_assets_dora_criticality_assessment_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this endpoint versus the many other DORA asset sub-endpoints (criticality assessment, licenced activity, disaster recovery objectives) or the generic assets retrieve. There are no prerequisites, no exclusions, and no alternatives named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_dora_licenced_activity_retrieveApi assets dora licenced activity retrieveCRead-onlyIdempotent
API endpoint that allows assets to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, destructiveHint=false, yet the description says assets can be "viewed or edited," implying a write capability the annotations deny. Beyond that inconsistency, it discloses nothing about authentication needs, response shape, or what the endpoint actually returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is technically concise. However, the brevity comes from boilerplate rather than precision, and the one clause it contains is misleading, so length is not the problem — content is.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place an agent could learn what a "DORA licenced activity" retrieval returns (likely an enum/choice list consumed by the assets serializer). It supplies none of that, leaving the agent unable to judge the response or its relevance to DORA reporting.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the input schema is an empty object with additionalProperties=false, so there is nothing for the description to explain. Baseline 4 applies; no syntax or format detail is missing because no inputs exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic boilerplate ("allows assets to be viewed or edited") that never mentions DORA, licenced activity, or what resource is actually being retrieved. The only signal about the tool's real subject comes from the machine-generated name. It also fails to distinguish this from the dozens of sibling assets_dora_* and assets_* endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this instead of, for example, ciso_assistant_api_assets_retrieve or ciso_assistant_api_assets_dora_criticality_assessment_retrieve. No prerequisites, no context, no exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_export_csv_retrieveApi assets export csv retrieveCRead-onlyIdempotent
API endpoint that allows assets to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds nothing about the CSV output itself — column set, row scope, whether it streams a file, whether it honors active filters — and its 'viewed or edited' wording sits awkwardly with a read-only export endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not bloated, but the one sentence it contains is boilerplate that does not earn its place. Brevity here comes from under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no parameters, so the description is the only place an agent could learn that this returns CSV content rather than a JSON asset list. That crucial detail is missing, leaving the tool indistinguishable in practice from the plain assets list endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. It is worth noting, though, that the description gives no hint about what gets exported, which is the only 'parameter-like' semantics this tool has.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST-Framework boilerplate ('allows assets to be viewed or edited') and never states that this tool exports assets as a CSV file, which is what the name and route indicate. It restates a resource without a specific verb and gives no way to distinguish it from sibling endpoints such as assets_list or assets_export_xlsx_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given at all — nothing says to call this for a CSV dump versus assets_list for JSON or assets_export_xlsx_retrieve for a spreadsheet. The 'viewed or edited' phrasing even suggests generic CRUD usage rather than a one-shot export.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_export_xlsx_retrieveApi assets export xlsx retrieveCRead-onlyIdempotent
API endpoint that allows assets to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, so the safety profile is already structured. The description adds nothing about the one behavior that matters here — that it produces an XLSX export — and instead says assets may be 'edited', which contradicts the read-only profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the single sentence is generic filler rather than meaningful content — brevity here costs information rather than saving it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter export tool with no output schema, the description should at minimum say it returns an XLSX file of assets. Nothing about output format, scope of exported data, or relationship to the CSV export sibling is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so the baseline is 4. However, the description's phrase 'viewed or edited' falsely implies mutable inputs/editing capability where none exist, which mildly misleads an agent about what it can control.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST-Framework boilerplate: 'API endpoint that allows assets to be viewed or edited.' It never mentions what the tool actually does per its name and title — export assets to an XLSX file. An agent cannot distinguish it from siblings like ciso_assistant_api_assets_list, _retrieve, or _export_csv_retrieve based on this text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling asset tools (assets_list, assets_export_csv_retrieve, assets_object_retrieve). No prerequisites, no exclusions, no alternatives named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_graph_retrieveApi assets graph retrieveDRead-onlyIdempotent
API endpoint that allows assets to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, but the description says assets can be 'viewed or edited', implying mutation capability. That directly conflicts with the read-only annotation profile and adds no useful behavioral context about the graph response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short, but it spends words on the filler phrase 'API endpoint' and includes a misleading 'edited'. It is under-specified rather than effectively concise, and the one sentence does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description never explains what a graph retrieval returns or how it differs from assets_list or assets_retrieve. For a graph-specific endpoint in a large family of asset tools, this definition leaves the agent without the context needed to select it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics for the description to explain. The baseline for a no-parameter tool is 4; the description neither helps nor harms here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (assets) but only gives the generic operations 'viewed or edited' and never mentions that this is a graph-retrieval endpoint. It does not distinguish the tool from sibling asset tools such as assets_list, assets_retrieve, or entities_graph_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or which asset/graph sibling to choose instead. Worse, saying assets can be 'edited' implies a write use case that this retrieve endpoint does not support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_ids_retrieveApi assets ids retrieveCRead-onlyIdempotent
API endpoint that allows assets to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows assets to be 'viewed or edited', but the annotations declare readOnlyHint=true and destructiveHint=false. Describing an 'edited' capability on an explicitly read-only tool directly contradicts the structured safety profile, which will mislead an agent about whether this call can mutate data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is concise. However, the one sentence it spends is boilerplate that does not front-load the distinguishing information an agent needs, so brevity comes at the cost of usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter retrieval endpoint with no output schema and annotation coverage already declaring it read-only and idempotent, the description should at minimum say what is retrieved and in what form (e.g. a list of asset identifiers). Instead it is generic and actively misleading about editability, leaving the agent without the one piece of information the structured fields do not supply.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is a closed empty object with 100% coverage, so there is no parameter semantics for the description to add. Baseline 4 applies; the description neither helps nor harms here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST boilerplate ('API endpoint that allows assets to be viewed or edited') that restates the resource name without stating what this specific endpoint returns. It gives no way to distinguish this tool from the many sibling asset endpoints such as assets_list, assets_retrieve, assets_object_retrieve, or assets_autocomplete_retrieve, despite the 'ids' segment in the tool name implying a distinct ID-listing behavior that the description never mentions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the numerous asset siblings. The phrase 'viewed or edited' is the only hint at usage and is too vague to route an agent between this tool and assets_retrieve or assets_list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_listApi assets listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| type | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| asset_class | No | ||
| parent_assets | No | ||
| personal_data | No | ||
| risk_scenarios | No | ||
| exclude_parents | No | ||
| vulnerabilities | No | ||
| applied_controls | No | ||
| ebios_rm_studies | No | ||
| exclude_children | No | ||
| filtering_labels | No | ||
| security_exceptions | No | ||
| is_business_function | No | ||
| dora_licenced_activity | No | ||
| organisation_objectives | No | ||
| dora_discontinuing_impact | No | ||
| dora_criticality_assessment | No |
TDQS
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 only a vague hint that results are 'optimized' for the serializer context, without explaining pagination, filtering behaviour, response shape, or what 'optimized data' means for the caller.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is one short sentence, but brevity here reflects under-specification rather than efficiency: the single sentence is an implementation aside and conveys no actionable information to an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 25-parameter list tool with no output schema and no documentation of parameters, filtering semantics, or result shape needs a much richer description. The single implementation note is wholly inadequate for selecting and invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 25 parameters at 0% schema description coverage, and the description mentions none of them. Nothing explains the semantics of filters like asset_class, exclude_parents/exclude_children, filtering_labels, ordering, limit/offset, or max_pages, which an agent must supply correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does for a caller. Only the tool name implies that assets are listed; an agent reading the description alone learns nothing about the resource or the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, and no mention of alternatives such as the sibling object/retrieve, autocomplete, filter/detail, or export tools. The text describes a code-level detail, not usage conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_object_retrieveApi assets object retrieveDRead-onlyIdempotent
API endpoint that allows assets to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, yet the description says the endpoint allows assets to be 'viewed or edited', implying write capability that the annotations deny. It also omits return shape, 404 behaviour, and whether the asset is scoped to the caller's permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is not bloated, but its brevity comes from under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one undocumented parameter, no output schema, and annotations that only cover the safety profile, the description leaves the agent without enough to call this confidently: it does not say what is returned, what permissions apply, or how it differs from the list/retrieve siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, and the description says nothing about what the id refers to (asset UUID/slug), its format, or what happens for unknown ids. It adds no semantic value over the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence is generic boilerplate ('API endpoint that allows assets to be viewed or edited') that restates the tool name rather than stating that it retrieves a single asset by id. It gives no way to distinguish this from siblings like ciso_assistant_api_assets_list, ciso_assistant_api_assets_retrieve, or ciso_assistant_api_assets_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus the many sibling asset endpoints (list, retrieve, object_retrieve, create, update, partial_update, destroy). No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_partial_updateApi assets partial updateD
API endpoint that allows assets to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and openWorldHint=true, but the description adds nothing about what a partial update changes, whether omitted fields are preserved, required permissions, or side effects. The 'viewed or edited' phrasing muddies rather than clarifies the mutation semantics of a partial update.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no filler, so structurally it is efficient. The problem is under-specification rather than verbosity, which caps the value of that conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an open-world partial-update mutation whose body is a free-form object with no schema descriptions and no output schema, the description provides none of the information an agent needs to call it safely or correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the two parameters (id and an untyped body object) carry no documentation, so the description should compensate. It says nothing about the id identifying the asset to patch or about which fields the body may contain, leaving the agent with no guidance for constructing the payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that the endpoint 'allows assets to be viewed or edited', a generic framework docstring that does not state this is a partial (PATCH-style) update. It does not distinguish this tool from the many sibling assets endpoints (assets_update, assets_create, assets_retrieve, assets_list) that share the same noun.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus assets_update or assets_create, and no mention that only a subset of fields is modified. The description also implies it can be used to view assets, which is what assets_retrieve is for, actively misrouting the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_retrieveApi assets retrieveDRead-onlyIdempotent
Populate optimized_data for the single retrieved asset so the
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, openWorld. The description adds only the ambiguous notion of populating `optimized_data`, without explaining what that field is, whether it mutates stored state, or what the response shape looks like. The truncated clause removes whatever behavioral context was intended.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single fragment ending in "so the" is not conciseness — it is an incomplete artifact. Nothing is front-loaded because the sentence never resolves, so there is no usable structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema and no annotation detail on return values, the description must carry the load on what comes back. Instead it is cut off mid-sentence, leaving the agent with no idea of the returned asset representation or the meaning of `optimized_data`.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions the sole `id` parameter — its type, format, or whether it refers to an asset ID versus another identifier. The only parameter the agent must supply is left entirely to inference from the parameter name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description mentions retrieving a single asset and populating `optimized_data`, but the sentence is truncated mid-clause ("so the") so the actual purpose never completes. It gestures at a resource but leaves the agent unable to state what the tool returns or why `optimized_data` matters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is named. With closely named siblings such as `ciso_assistant_api_assets_object_retrieve`, `ciso_assistant_api_assets_retrieve`, and `ciso_assistant_api_assets_list`, the absence of any routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_security_objectives_retrieveApi assets security objectives retrieveCRead-onlyIdempotent
API endpoint that allows assets to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, yet the description says assets may be "edited" through this endpoint. That is a direct contradiction, and no other behavioral context (scope, response shape, permissions) is offered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no bloat, but the one sentence spent is generic boilerplate rather than front-loading the distinguishing information (security objectives).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-output-schema read endpoint the bar is modest, but the description never explains what a "security objective" is, what it returns, or how it relates to assets. The only usable signal is the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing for the description to clarify. Baseline of 4 applies, with no parameter-related gap to penalize.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates generic DRF boilerplate ("allows assets to be viewed or edited") and never mentions "security objectives," which is the specific sub-resource in the tool name. An agent cannot tell this apart from ciso_assistant_api_assets_retrieve or ciso_assistant_api_assets_object_retrieve based on the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this endpoint versus the many sibling asset endpoints, and the phrase "viewed or edited" actively suggests a write capability the tool does not have. That misdirection could lead an agent to use it as a mutation path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_type_retrieveApi assets type retrieveCRead-onlyIdempotent
API endpoint that allows assets to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims assets may be "viewed or edited," while annotations declare readOnlyHint=true and destructiveHint=false. That is a direct contradiction of the declared safety profile. No other behavioral context (auth requirements, scope of returned data, openWorld implications) is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no wasted words, but it is boilerplate rather than informative — brevity here comes from under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-param read endpoint with no output schema, the description should at least say what entity is returned (asset types) and any scope. Instead it says only that assets can be viewed/edited, which is both vague and wrong about mutability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema has nothing to document and the description has nothing to compensate for. Baseline 4 applies; there is no parameter-related information to add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint that allows assets to be viewed or edited" is generic Django REST Framework boilerplate that restates the resource loosely and never mentions what a "type" is or that this is a read of the asset-type taxonomy. With dozens of sibling *_retrieve and *_object_retrieve tools, the definition gives an agent no way to tell this apart from ciso_assistant_api_assets_retrieve or ciso_assistant_api_asset_class_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this tool, when not to, or which sibling to prefer for asset types versus asset classes versus individual assets. The agent is left to infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_assets_updateApi assets updateDIdempotent
API endpoint that allows assets to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, so safety is covered structurally. The description adds nothing beyond that — no mention of what fields get overwritten, whether omitted fields are cleared (full vs. partial update), or any auth/permission requirement for a write against a CISO Assistant asset.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no padding, but it is under-specified rather than concise — the brevity comes from carrying almost no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an untyped free-form body and no output schema, the description should carry the payload and behavior burden. It provides none of it, leaving the agent unable to construct a correct update call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description names no parameters at all. Both 'id' (required) and the opaque 'body' object (anyOf object/null, additionalProperties true, no defined fields) are left entirely unexplained, so the agent has no idea what payload shape the endpoint accepts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence is generic Django REST Framework boilerplate: 'allows assets to be viewed or edited' neither states that this call updates one existing asset by id nor distinguishes it from the many siblings (assets_partial_update, assets_retrieve, assets_list, assets_destroy). An agent reading only the description cannot tell this is the full-update (PUT-style) variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus ciso_assistant_api_assets_partial_update, ciso_assistant_api_assets_retrieve, or ciso_assistant_api_assets_update's siblings. The phrase 'viewed or edited' even muddies the usage decision by implying a read path that does not apply.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_build_retrieveApi build retrieveBRead-onlyIdempotent
API endpoint that returns the build version of the application.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so safety is covered. The description adds that the payload is version-related but says nothing about response shape, whether authentication is required, or whether it's a lightweight probe suitable for health checks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler beyond the mild redundancy of 'API endpoint that'. Nothing an agent needs is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter read tool with no output schema, the description is minimally adequate but leaves the return format unspecified (e.g., a version string field), which is the one piece of information an agent would still need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema baseline applies and no parameter semantics are needed. Nothing in the description contradicts this.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and outcome: returns the application's build version. An agent can tell what the tool produces without opening the schema. It does not differentiate itself from similar diagnostics such as health_retrieve or csrf_retrieve, which keeps it below a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this (e.g., verifying deployment version, checking an upgrade took effect) and no reference to alternatives. Usage is only inferable from the word 'version'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_campaigns_batch_action_createApi campaigns batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, and the description is consistent with that (no contradiction). However, it adds nothing beyond them: it does not say what the batch action mutates, whether it is all-or-nothing, what permissions are required, or that repeated calls are non-idempotent. For a mutation tool the additional context is essentially absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, so it is concise. It is concise to the point of under-specification, however: nothing is front-loaded because there is nothing substantive to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a write-path tool with no output schema, an empty input schema, and no stated action vocabulary or return behavior. Given that complexity, the description should at minimum identify the resource, the allowed action values, and the expected effect; it supplies none of these.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero properties with additionalProperties=false, so nominally there is nothing to document. But the description says the action applies to 'multiple objects', implying a selection input that the schema does not expose and the description does not explain. No action name, id list format, or payload shape is given, leaving a real ambiguity between what is described and what can actually be sent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says "Perform a batch action on multiple objects", which restates the tool name's own wording rather than defining the operation. It never names the resource (campaigns, from the tool name only) nor what the 'batch action' actually does (delete, update, duplicate). An agent cannot distinguish this from any of the dozens of sibling *_batch_action_create tools based on the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or how it relates to the resource-specific alternatives such as ciso_assistant_api_campaigns_destroy or ciso_assistant_api_campaigns_partial_update. The description provides no routing signal at all across a very large sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_campaigns_cascade_info_retrieveApi campaigns cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 known. The description adds only that the result is a "preview" of cascade effects, with no detail on what is returned, whether the cascade is destructive, or how deep it goes; with annotations covering safety, this is a thin addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words with no filler, but this is under-specification rather than conciseness. A usable definition needs at least a full clause describing the operation and its target.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no parameter docs, and a two-word description leave an agent unable to determine what a "cascade preview" for a campaign returns or how to interpret the id. Given a mutating-adjacent domain object and zero schema help, the description is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter `id` has 0% schema description coverage, and the description says nothing about what the id identifies or what form it takes. With low coverage the description must compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is essentially a restatement of the name/title fragment ("cascade info retrieve") rather than a description of an operation. It hints that the tool reveals cascading effects for something, but never states the verb, the resource, or what the preview contains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or how it differs from sibling campaign tools such as campaigns_retrieve or campaigns_object_retrieve. The word "preview" faintly implies a read-only inspection step, but nothing tells an agent when to prefer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_campaigns_createApi campaigns createD
api_campaigns_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, so the mutation/write profile is covered structurally — but the description adds zero context: no auth requirements, no side effects, no duplicate-handling or validation behavior. The description contributes nothing beyond the annotations, and at least does not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity comes from under-specification rather than tight writing; there is no front-loaded purpose statement or any structure to speak of. A single identifier is not a description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an untyped free-form body, no output schema, and no parameter documentation, the description would need to carry nearly all the load. It carries none, so an agent cannot determine payload requirements, return shape, or error behavior from the definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there is a single opaque `body` parameter typed only as a free-form object with additionalProperties=true. The description supplies no field names, required keys, or payload shape, leaving the agent with no way to construct a valid request body.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal tool identifier 'api_campaigns_create' repeated, which restates the name without saying what a campaign is being created for, what fields it takes, or how it differs from campaigns_update/campaigns_partial_update/campaigns_batch_action_create. An agent learns nothing beyond the name it already has.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no exclusions, and no alternatives named despite ~15 sibling campaign tools (list, retrieve, update, partial_update, destroy, batch_action_create, metrics, status). Nothing steers the agent between creating one campaign versus using the batch-create endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_campaigns_destroyApi campaigns destroyDDestructiveIdempotent
api_campaigns_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered structurally. The description contributes nothing beyond that — it does not state what is destroyed, whether cascading deletes occur, or whether permissions are required — but it does not contradict the annotations either.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is minimal, but this is under-specification rather than conciseness — there is no front-loaded statement of purpose or effect, just an echoed name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete operation with an undocumented required identifier, the definition provides essentially nothing an agent needs beyond the annotations. Contextually inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage and the description says nothing about it. It is left to the agent to infer that this is the campaign identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely repeats the tool name in snake_case ('api_campaigns_destroy') with no verb+resource phrasing. An agent can infer deletion of a campaign from the name alone, but the description adds nothing distinguishing it from siblings like campaigns_partial_update or campaigns_batch_action_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no warning about irreversibility. The agent must infer everything from the name and annotations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_campaigns_listApi campaigns listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| ordering | No | ||
| max_pages | No | ||
| frameworks | No | ||
| perimeters | No |
TDQS
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, openWorldHint=true). The description adds only that serializer context is enriched, which is server-internal trivia and does not tell the agent what the response contains, whether results are paginated, or what 'optimized data' means for the caller.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but the sentence is spent on an internal implementation note rather than user-facing behavior, so it fails the 'every sentence earns its place' test. Not verbose, just wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 10 undocumented parameters, no output schema, and no explanation of the campaign resource or its filtering semantics, the definition gives an agent almost nothing it needs to construct a correct call. The heavy annotation set covers safety only, not invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Ten parameters with 0% schema description coverage, and the description mentions none of them. Filters like status, folder, frameworks, perimeters, search, ordering, limit/offset and max_pages are entirely undocumented in both schema and description, leaving the agent to guess at types, formats, and behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description describes an internal implementation detail ('Override the list method to inject optimized data into the serializer context') rather than stating that the tool lists campaigns. The resource (campaigns) is only inferable from the tool name, and nothing tells an agent what data it returns or what filters it supports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this versus its many siblings (campaigns_retrieve, campaigns_object_retrieve, campaigns_metrics_retrieve, campaigns_status_retrieve). The 'list method' phrasing implies a collection read but gives no selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_campaigns_metrics_retrieveApi campaigns metrics retrieveDRead-onlyIdempotent
api_campaigns_metrics_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile is covered. The description adds nothing beyond the slug — no indication of what metric data is returned, whether it requires a campaign in a particular state, or any scoping — so it offers no behavioral value on top of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single machine-generated identifier rather than prose; it is short but not informative. There is no front-loaded statement of purpose to structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a metrics-retrieval endpoint with an undocumented required id, no output schema, and dense sibling competition, the description supplies none of the context needed to call it correctly or distinguish it from alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required 'id' parameter is undocumented. The description says nothing about what the id refers to (campaign id presumably) or its format, so the gap is entirely unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the machine-generated slug "api_campaigns_metrics_retrieve" restated, which is tautological with the name and title. It hints at retrieving campaign metrics but gives no verb-object statement beyond the identifier, and doesn't differentiate from siblings like campaigns_status_retrieve or campaigns_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what it returns, or how it differs from the many sibling campaign retrieval tools. An agent must guess based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_campaigns_object_retrieveApi campaigns object retrieveDRead-onlyIdempotent
api_campaigns_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds nothing beyond that — no note on permissions, whether the id must exist, or what happens on a miss. It does not contradict the annotations, but it contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single identifier replayed as prose; there is no front-loaded statement of purpose because there is no content at all. This is under-specification rather than conciseness, though it is at least not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, one undocumented parameter, and a crowded sibling namespace where several tools look interchangeable, an agent has no basis to choose this tool or supply a valid id. The definition is entirely inadequate for its context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, so the description carries the full burden — and says nothing. It never clarifies that id is a campaign UUID/slug, what format it takes, or how to obtain one (e.g. from campaigns_list). With one undocumented parameter, no parameter credit is earned.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name restated with underscores turned into spaces: 'api_campaigns_object_retrieve'. It conveys no verb-object statement beyond what the identifier already implies, and gives no clue what a 'campaigns object' contains or how it differs from the 100+ other *_object_retrieve siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the closely named siblings in the same namespace, notably ciso_assistant_api_campaigns_retrieve, ciso_assistant_api_campaigns_list, and ciso_assistant_api_campaigns_object_retrieve's neighbours such as campaigns_cascade_info_retrieve or campaigns_metrics_retrieve. No prerequisites, no exclusions, no alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_campaigns_partial_updateApi campaigns partial updateD
api_campaigns_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide a partial safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=true), but the description adds zero behavioral context. It does not contradict them, yet contributes nothing on mutation semantics, required permissions, or partial-update merge behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single snake_case identifier, so there is no wasted prose, but this reflects under-specification rather than conciseness. It is not front-loaded with any actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an opaque body parameter, 0% schema coverage, and no output schema, the description should carry the full burden and does not. An agent cannot tell what fields to send or what the call returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two parameters (id, body), and the description says nothing to compensate. The opaque 'body' object, which carries the actual fields to patch, is entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation identifier 'api_campaigns_partial_update', which merely restates the tool name and title. It implies a partial update on campaigns but adds no verb-object phrasing an agent could act on and does not distinguish this from the sibling campaigns_update or campaigns_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus campaigns_update, campaigns_object_retrieve, or campaigns_destroy. The agent is left to infer everything 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.
ciso_assistant_api_campaigns_retrieveApi campaigns retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 unauthorized related fields are masked, which is useful authorization-related context not present in annotations, but it does not explain masking scope or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single waste-free sentence, which is concise. However, it is under-specified for a retrieve tool: the key resource identity is absent, so the sentence does not earn its place as sufficient definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieve operation, the description omits the object type and the meaning of the only parameter, and there is no output schema to fill those gaps. Only field-masking behavior is noted, leaving an agent without enough context to confidently select and call the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the sole required parameter id is undocumented in the schema. The description never mentions the id parameter or explains its role, so it 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns a single object but never names the resource (campaign), so it does not distinguish itself from many sibling retrieve tools. The only specific detail is field masking, not the object type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives no guidance on when to use this tool versus ciso_assistant_api_campaigns_list, ciso_assistant_api_campaigns_object_retrieve, or ciso_assistant_api_campaigns_status_retrieve. There are no prerequisites, exclusions, or alternative routing conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_campaigns_status_retrieveApi campaigns status retrieveCRead-onlyIdempotent
api_campaigns_status_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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. However, the description adds no behavioral context at all — not what 'status' means here (campaign statuses vs. a job/execution status), not the response shape, and not any auth or scoping notes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it says nothing — the single token is not front-loaded content, it is an identifier with no informative sentences behind it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and no explanatory text, an agent has no idea what this endpoint actually returns or when to prefer it over campaigns_retrieve/campaigns_metrics_retrieve. For a status-retrieval tool with zero structured documentation of the response, the description needed to do real work and does none.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema cannot document anything and the baseline of 4 applies. The description neither helps nor hurts on this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the operation ID repeated ('api_campaigns_status_retrieve'), which restates the name rather than explaining the purpose. An agent can infer from the name that it retrieves campaign status data, but the description contributes nothing beyond that, and does not distinguish it from campaigns_metrics_retrieve or campaigns_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool, what it returns, or how it differs from the many sibling campaign endpoints (list, retrieve, metrics, object_retrieve). The agent must guess from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_campaigns_updateApi campaigns updateDIdempotent
api_campaigns_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds nothing beyond the annotations, which already state readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true. It does not say what fields can be changed, whether a full or partial body is expected, what permissions are required, or what happens to unspecified fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here reflects under-specification rather than efficiency. There is no front-loaded statement of action, scope, or payload expectations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write/update tool with an undocumented free-form body, no output schema, and no annotations covering payload semantics, the description does nothing to make the tool safely invocable. An agent would have to guess the request body entirely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for two parameters, and the description supplies no compensating information. The 'body' parameter is an untyped free-form object with additionalProperties=true, so without documentation the agent has no way to know what payload shape the endpoint accepts — a critical gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name with the namespace prefix stripped ('api_campaigns_update'), which restates the title rather than explaining the action. An agent can infer 'update something in campaigns' only from the name itself, not from any descriptive text. It does not distinguish this from siblings such as campaigns_partial_update or campaigns_batch_action_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus campaigns_partial_update, campaigns_batch_action_create, or campaigns_update. No preconditions, no exclusions, no alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_agent_actions_approve_createApi chat agent actions approve createD
api_chat_agent_actions_approve_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false and openWorldHint=true, but the description adds no behavioral context of its own: no statement about what approval changes, whether it is reversible, what happens on a non-pending action, or what authorization is required. It does not contradict the annotations, but it is empty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from under-specification rather than efficient phrasing - the sole 'sentence' merely echoes the name and carries no front-loaded information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an open-world, non-idempotent mutation endpoint with an undocumented identifier parameter and no output schema, an agent needs to know what object the id identifies and what the call affects. None of that is present, so the definition is not callable with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single required parameter 'id', which carries no description or type context beyond 'string'. The description does not say what the id refers to (action id? run id? session id?), so it fails to compensate for the total coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim, 'api_chat_agent_actions_approve_create', with no verb-resource phrasing a reader could act on. An agent can only guess that this approves a pending chat agent action from the name suffix, and the description does nothing to distinguish it from the sibling ciso_assistant_api_chat_agent_actions_reject_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance about when to approve versus reject, what preconditions exist (e.g. the action must be pending), or who is permitted. The sibling reject tool is never mentioned, so routing between the two is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_agent_actions_batch_action_createApi chat agent actions batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the write profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=true), so the description only needed to add context such as what the batch operations do, whether they are reversible, or whether approval is required. It adds none of that — 'batch action' is opaque, and destructiveHint=false contradicts the intuitive risk of a bulk mutation over an unspecified action set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler and the action front-loaded. It is concise to a fault — short because it says almost nothing, not because it is well engineered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent write tool that supposedly acts on multiple objects, the definition omits the object type, the allowed actions, and how inputs are supplied (the schema is empty and forbids additional properties). With no output schema and no additional annotations detail, an agent cannot safely invoke this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero properties and additionalProperties=false, so nothing can be passed; the description does not explain how the target objects or the action type are conveyed, which is the single most important thing an agent would need. Baseline for 0 params is 4, but the empty schema combined with an unexplained batch semantic leaves a real gap, so this sits at 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Perform a batch action on multiple objects' restates the generic pattern in the name without naming the resource being acted on (chat agent actions) or what batch operations are possible. Dozens of sibling tools share this exact batch_action_create shape and the description gives no way to tell which object type this one targets except by decoding the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when this should be used, what preconditions exist, or what alternatives (e.g. ciso_assistant_api_chat_agent_actions_approve_create / reject_create, or per-object update tools) would be selected instead. The reader is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_agent_actions_cascade_info_retrieveApi chat agent actions cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so safety is covered; the description adds no behavioral context of its own. It does not say what the cascade preview reveals (dependent objects, count of records that would be affected), whether it is scoped to the current user, or what errors occur for an invalid id. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words plus a colon is under-specification rather than conciseness; it is front-loaded only in the trivial sense that there is nothing else. A healthy description here would be a sentence or two, not a fragment.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool with one undocumented required parameter and no output schema, the description carries the full burden of explaining what 'cascade info' means and what comes back. It does none of that, leaving the agent unable to interpret either the input or the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter `id` has no type-level description beyond "string". The description does not clarify whether `id` is the agent action id, the parent session id, or the run id — the key ambiguity for a tool nested under chat_agent_actions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" essentially restates the tool name (cascade info retrieve) without stating a verb, the resource being acted on, or what the preview contains. Against dozens of sibling `*_cascade_info_retrieve` tools (actors, assets, chat sessions, etc.), nothing distinguishes the 'chat agent actions' variant from the rest.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, when-not-to-use, or alternative named. At best 'preview' weakly implies it should be called before a destructive cascade operation, but the agent must infer that entirely; nothing tells it whether to use this versus the object_retrieve or the destroy siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_agent_actions_createApi chat agent actions createD
api_chat_agent_actions_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false, but the description adds nothing beyond them: no payload requirements, no side effects, no state implications for the created action. It neither contradicts nor enriches 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than conciseness: the entire text is an identifier with no front-loaded statement of purpose or behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating, open-world create endpoint with an opaque body parameter, no output schema, and no annotations explaining the payload, the description supplies none of the missing context an agent would need to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single undocumented `body` parameter with 0% schema description coverage, and the description says nothing about its shape or expected content. The only real information available is the schema's `additionalProperties: true`, which the description does not clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name restated verbatim ("api_chat_agent_actions_create") with no verb, resource, or scope in human-readable form. It gives an agent no way to distinguish this from siblings like api_chat_agent_actions_approve_create or api_chat_agent_actions_batch_action_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or prerequisite guidance. Nothing tells the agent when to create an agent action versus approving, rejecting, or batch-actioning one through the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_agent_actions_listApi chat agent actions listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| kind | No | ||
| limit | No | ||
| state | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| agent_run | No | ||
| max_pages | No | ||
| target_object_id | No | ||
| target_content_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds nothing behavioral — 'optimized data into the serializer context' is an internal implementation note, not useful context about return shape, pagination, or filters. It does not contradict the annotations, but it earns almost no credit above them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence and front-loaded, but that brevity comes at the cost of any useful content — the one sentence that is there is an internal note rather than a description of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 11 undocumented parameters, no output schema, and only annotations covering safety, the description is far too thin. It provides no filter semantics, no pagination behavior, and no sense of what the response contains — an agent could not invoke this confidently from the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 11 parameters with 0% schema description coverage, and the description explains none of them. Fields like 'kind', 'state', 'agent_run', 'target_content_type', 'ordering' and 'max_pages' are completely opaque; the description does nothing to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence describes an internal implementation detail ('override the list method to inject optimized data into the serializer context') rather than what the tool does. It never states that this returns a list of chat agent actions, nor how it differs from siblings like chat_agent_actions_retrieve or chat_agent_actions_object_retrieve. An agent reading only this would not know what resource is being listed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no distinction from siblings (e.g. object_retrieve or the other list endpoints), and no mention of prerequisites. The content is a Django override note, not user guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_agent_actions_object_retrieveApi chat agent actions object retrieveDRead-onlyIdempotent
api_chat_agent_actions_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered and the description does not contradict it. However, the description contributes nothing at all – no note on what the retrieved object contains, whether it is scoped to a chat session, or what authorization is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely short, but that brevity is under-specification rather than efficiency – a single identifier string that conveys no information an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations-driven detail in the description, and an undocumented required parameter, an agent cannot know what this call returns or how to form a correct request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'id' parameter is undocumented in the schema; the description does not even say whether it is the agent-action UUID or a related record id. It fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name restated verbatim, with no verb+resource explanation beyond the underscore-delimited path tokens. It gives an agent no way to distinguish this 'object_retrieve' from siblings such as ciso_assistant_api_chat_agent_actions_retrieve or _list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no prerequisite (e.g. needing an agent-action id), and no pointer to any alternative among the many chat_agent_actions siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_agent_actions_reject_createApi chat agent actions reject createD
api_chat_agent_actions_reject_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true; the description adds nothing about what state the rejection produces, whether it is reversible, or what permissions are needed. Without annotations an agent would learn nothing from this text.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity is under-specification rather than economy: a single identifier string with no front-loaded statement of purpose, effect, or scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write tool with an openWorld hint, no output schema, and an undocumented required id, the definition gives an agent nothing to decide or act on. The name alone is not sufficient context to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, 'id', with 0% schema description coverage, so the description carries full responsibility for explaining it. It supplies nothing — it does not say whether 'id' identifies the action, the agent run, or the chat session.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw slug 'api_chat_agent_actions_reject_create' repeated verbatim, which only indirectly signals a reject operation on a chat agent action. It restates the name and title rather than stating in prose what the tool does or what a 'reject' means here.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given. Sibling tools such as ciso_assistant_api_chat_agent_actions_approve_create, _list, _retrieve, and _object_retrieve exist and are the obvious alternatives, yet none are distinguished or referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_agent_actions_retrieveApi chat agent actions retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 known. The description adds genuinely new information — that unauthorized related fields are returned masked — which is useful behavioral context, but it does not explain masking criteria or whether masked fields are omitted versus nulled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, so it is economical. The problem is that what is left is under-specified rather than that it is verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, a 0%-covered required parameter, and a very large sibling set, the definition should carry more. The masking note is the only substantive content, leaving the agent without enough to call this confidently versus the list/object_retrieve variants.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'id' parameter is never mentioned in the description, so neither field documents what identifier is expected (object UUID? integer?) or what happens on an invalid id. The description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Return a single object', which effectively restates the 'retrieve' in the tool name without naming the resource (a chat agent action). The one distinguishing element is the masking clause, but an agent still cannot tell from this text what entity is being fetched or how it differs from the many sibling *_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this instead of siblings such as chat_agent_actions_list or chat_agent_actions_object_retrieve, and no prerequisites or exclusions are mentioned. The agent must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_agent_runs_batch_action_createApi chat agent runs batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, and the description adds nothing beyond that: it doesn't say whether the call is all-or-nothing, what happens to objects that fail, or whether destructive actions can be routed through it despite destructiveHint=false. For a mutation endpoint this leaves the behavioral picture thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded, no filler — but it is short because it omits essentials rather than because it is dense with meaning. Brevity at the cost of disambiguation isn't true conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutating, non-idempotent batch endpoint with no output schema and an empty request schema needs the description to explain the action vocabulary and payload shape; instead it offers a single generic sentence. An agent has essentially nothing to act on beyond the name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters with additionalProperties=false, so per the baseline rule a 3-4 is warranted. However, the description's phrase 'multiple objects' implies object identifiers and an action selector that the empty schema does not expose, so it raises a question it never answers rather than clarifying inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It gives a verb and a resource ('perform a batch action on multiple objects'), but the resource is generic boilerplate shared by dozens of sibling *_batch_action_create tools, so an agent cannot tell from the text that this one targets chat agent runs. The tool name carries the actual scoping, not the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus a per-object endpoint (e.g. chat_agent_runs_cancel_create) or versus the many other batch_action siblings. No prerequisites, no mention of what kinds of actions are supported or when the operation is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_agent_runs_cancel_createApi chat agent runs cancel createB
Mark an active run as cancelled. The worker checks before each step.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-destructive, non-idempotent, open-world behavior, so the bar is lower, and the description still adds real value: cancellation is cooperative and takes effect at a step boundary, not immediately. It omits what happens on an already-finished run (error vs. no-op) and whether the call returns before the run actually stops.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero filler; the action is front-loaded and the mechanism detail follows immediately. Nothing is repeated from the name or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A one-parameter mutation with annotations and no output schema needs little, and the cooperative-cancellation note covers the key behavioral surprise. Still, the 'id' reference and the failure mode for non-active runs are gaps an agent would hit in practice.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter 'id' is an untyped string with no description. The description implies it identifies the run to cancel but never says so explicitly, nor what ID form (UUID, ref) is accepted. Low coverage means the description should compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: mark an active chat agent run as cancelled. The phrase 'the worker checks before each step' clarifies it operates on the agent run loop rather than being a generic status update, which distinguishes it from siblings like runs_batch_action_create. It stops short of naming 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance: nothing says to prefer this over runs_batch_action_create or start_questionnaire_prefill_create, no prerequisites, and no statement about what happens when the run is not active. The agent must 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.
ciso_assistant_api_chat_agent_runs_cascade_info_retrieveApi chat agent runs cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, which covers the safety profile. The description adds nothing beyond that – no indication of what a "cascade preview" returns, what the id refers to, or whether it is expensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness: a dangling colon-truncated fragment that does not form a complete thought an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, one undocumented parameter, and a description of two words, nothing an agent needs in order to call this correctly is present – not the resource semantics, not the return shape, not the selection criteria among its many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter "id" is completely undocumented. The description does not say whether the id is a chat agent run id, a session id, or a cascade node id, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a two-word fragment that partially echoes the tool name but states no verb and no resource. The agent cannot tell from this whether the tool retrieves, computes, or simulates cascade information for a chat agent run, nor how it differs from the dozens of sibling *_cascade_info_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all: no when-to-use, no prerequisites, and no mention of alternatives such as chat_agent_runs_retrieve or chat_agent_runs_object_retrieve that an agent would need to disambiguate against.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_agent_runs_createApi chat agent runs createD
api_chat_agent_runs_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false, so the write/safety profile is covered. The description adds nothing beyond that – no indication of what a run is, whether it starts an async job, whether it needs an existing session, or what happens on repeat calls (relevant given non-idempotency).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token with no padding, but this is under-specification rather than conciseness – nothing is front-loaded because nothing is said. There is no sentence for an agent to act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a create/mutation tool with an opaque free-form body, no output schema, and no annotations describing semantics beyond safety flags. The description supplies none of the context needed – what a chat agent run is, what belongs in the body, or what the call returns – so it is completely inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter ('body') that is a free-form object with additionalProperties=true and 0% schema description coverage. The description provides zero information about the expected body contents, leaving an agent no way to construct the request from the definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name restated as a string ('api_chat_agent_runs_create'), which is tautological by the rubric's definition. An agent can infer 'create a chat agent run' only from the snake_case name, not from any prose in the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as ciso_assistant_api_chat_agent_runs_start_questionnaire_prefill_create, ciso_assistant_api_chat_agent_runs_cancel_create, or ciso_assistant_api_chat_sessions_message_create. No prerequisites, no context, no exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_agent_runs_listApi chat agent runs listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| kind | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| ordering | No | ||
| max_pages | No | ||
| target_object_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered. The description adds nothing a caller can act on — 'inject optimized data into the serializer context' hints at performance tuning but not at pagination, response shape, or filtering behavior, which matter for a 10-parameter list endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not bloated, but the one sentence present is an internal code comment that carries no information for an agent. Brevity without content is under-specification rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Ten optional parameters with zero documentation, no output schema, and several closely related sibling endpoints demand far more than a note about serializer context. Nothing an agent needs in order to call this correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 10 parameters (id, kind, limit, folder, offset, search, status, ordering, max_pages, target_object_id), and the description supplies no meaning for any of them. Notably max_pages, which implies automatic pagination across pages, is entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an implementation note about overriding a serializer method, not a statement of what the tool does for a caller. An agent can infer from the name that this lists chat agent runs, but the text itself never says so and distinguishes nothing from siblings like agent_runs_retrieve or agent_runs_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus agent_runs_retrieve, agent_runs_object_retrieve, cascade_info, or the questionnaire_runs list. The sentence addresses internal serialization, giving the agent no selection criteria at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_agent_runs_object_retrieveApi chat agent runs object retrieveDRead-onlyIdempotent
api_chat_agent_runs_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that — no note about what an 'object' retrieval returns versus a plain retrieve, nor any auth or scoping context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it contains no content at all — a single restated identifier. This is under-specification rather than earned conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and an undocumented path/ID parameter, the description should explain the resource and return shape. It does neither, leaving the agent unable to distinguish this from several near-identical siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter `id` has 0% schema description coverage, and the description offers no clarification of what kind of identifier it is (agent run UUID? object id?). With the description carrying the full burden here, it fails entirely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim ("api_chat_agent_runs_object_retrieve") with no prose explaining what is retrieved or returned. It is a tautology that gives no more information than the identifier the agent already sees.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the sibling `ciso_assistant_api_chat_agent_runs_retrieve`, `..._list`, or `..._cascade_info_retrieve`. The agent must infer the distinction from the name suffix 'object' alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_agent_runs_retrieveApi chat agent runs retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world). The description adds one genuinely non-obvious behavior — that unauthorized related fields are masked in the response — which is useful for interpreting missing data. It stops there: no 404/not-found behavior, no note on which fields get masked or under what authorization level.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, no padding — but the brevity is under-specification rather than efficiency. The most informative fact (masking) leads, but the subject of the retrieval, which should come first, is absent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A retrieve-by-id tool with no output schema needs the description to at least identify the entity and the identifier format, and it does neither. The masking note is the only substantive content; an agent would still be guessing about the return shape and error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter `id` has 0% schema description coverage, so the schema provides no meaning (not even the type of identifier), and the description does not mention the parameter at all. With low coverage the description is expected to compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns "a single object" but never names the resource — nothing indicates this is a chat agent run. An agent reading only the description cannot distinguish it from the dozens of other `*_retrieve` siblings, and the actual subject must be reverse-engineered from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus `ciso_assistant_api_chat_agent_runs_list`, `..._object_retrieve`, or the cascade-info variant. No prerequisites, no mention of what identifier source to use, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_agent_runs_start_questionnaire_prefill_createApi chat agent runs start questionnaire prefill createB
Create + enqueue an AgentRun for prefilling a questionnaire.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so safety is covered. The description adds one genuinely new fact — the run is 'enqueued', i.e. asynchronous — but says nothing about how completion is observed, whether a duplicate run is spawned per call (relevant given idempotentHint=false), or which session context supplies the questionnaire.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler or repetition. It is efficient but so short that the efficiency comes partly at the cost of the missing usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema and an async 'enqueue' behavior, the description is the only place an agent could learn what questionnaire is being prefilled and how to observe the resulting run. It supplies neither, leaving a call that is hard to invoke confidently or verify afterwards.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline rule this scores 4. The description adds nothing about inputs because there are none to describe, but it also doesn't explain the implicit input implied by 'a questionnaire'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb-plus-resource ('Create + enqueue an AgentRun') and scopes it to questionnaire prefill, which separates it from the generic sibling ciso_assistant_api_chat_agent_runs_create. It stops short of naming that sibling or explaining how the two differ in payload.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose this over chat_agent_runs_create, when a prefill run is appropriate, or what state the target questionnaire must be in first. The reader is left to infer everything about preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_documents_batch_action_createApi chat documents batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare that this is not read-only, is open-world, is not idempotent, and is not destructive, so the safety profile is covered. The description adds no context about what the batch action actually does, what objects it affects, permissions required, or whether it creates or updates records.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no wasted words, but it is under-specified rather than effectively concise. The sentence does not front-load any useful scoping or action detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a batch-action endpoint on chat documents with an empty schema and no output schema, the description is far too thin. It omits the resource, the meaning of the batch action, and any operational context beyond what the annotations already state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and the scoring baseline for a parameterless tool is 4. The description does not need to explain parameters, though it also does not clarify how a batch is identified without a payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Perform a batch action on multiple objects' and never names chat documents or clarifies what the batch action does. It therefore largely restates the generic batch-action portion of the name and does not distinguish this tool from the many sibling batch_action_create endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus create, update, destroy, or the numerous other batch_action_create siblings. No prerequisites, exclusions, or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_documents_cascade_info_retrieveApi chat documents cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds nothing beyond that — it doesn't say what the 'cascade preview' response contains, what it previews (deletions? dependency impact?), or whether it has side effects on related records.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but shortness here is under-specification, not conciseness: a two-word fragment ending in a colon conveys no actionable information. There is no front-loaded statement of purpose for an agent to anchor on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only single-parameter lookup with no output schema, the description is the only place to explain what is returned and how the id is scoped; it supplies none of that. An agent has no basis to call this correctly beyond guessing from the name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter `id` has 0% schema description coverage, and the description does not say what the id identifies — the chat document, a session, a run, or a cascade operation. With low coverage the description must compensate and it does not at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment "Cascade preview:", which essentially restates a piece of the tool name rather than stating a verb and resource. It never says that it retrieves cascade/deletion-impact information for a specific chat document, so an agent cannot distinguish it from the ~100 other `*_cascade_info_retrieve` siblings beyond the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the sibling tools with 'cascade_info_retrieve' in their names, and no stated preconditions. The trailing colon even suggests truncated content rather than instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_documents_createApi chat documents createC
ViewSet for managing indexed documents.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that — no note on what gets indexed, whether re-creating duplicates a document, or what permissions are required for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, which is structurally fine. But the brevity reflects under-specification rather than economy — nothing useful is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write endpoint whose only parameter is an opaque object with no output schema, the description should at minimum explain the expected payload and effect. Neither is present, leaving the agent unable to call it correctly without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'body' parameter is an untyped free-form object at 0% schema description coverage, so the schema gives an agent no guidance on payload shape. The description does not compensate at all — it never describes what a document body should contain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'ViewSet for managing indexed documents' restates the resource generically and never states the operation. The tool name says 'create', but the text mentions only 'managing', so an agent cannot tell whether it creates, lists, or updates documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to prefer the sibling chat_documents_list/retrieve/update/destroy endpoints, and no preconditions. The agent must infer everything from the name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_documents_destroyApi chat documents destroyCDestructiveIdempotent
ViewSet for managing indexed documents.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered externally. The description adds nothing beyond that — it does not say what deletion entails (e.g. whether the vector index entry and embeddings are removed, whether the underlying session/document record survives, or whether authorization is required).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, but the brevity comes from under-specification rather than economy: the words spent convey no actionable information about the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a destructive single-parameter tool with no output schema; the description should at minimum confirm the delete semantics and what a successful/404 response means. It supplies none of that, so an agent cannot safely call it without opening the schema and inferring intent from the name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the description carries the full burden and must say what identifier is expected (document UUID, integer, display ref). It says nothing, leaving the agent to guess the id's format and origin.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource ('indexed documents') but never states the operation. The name and title say 'destroy', yet the text reads as a generic ViewSet docstring ('ViewSet for managing indexed documents') that could equally describe list, retrieve or update — it does not distinguish this tool from the many sibling chat_documents_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: nothing says this permanently removes an indexed chat document, nor points to alternatives such as chat_documents_update for modification or chat_documents_retrieve for inspection. The reader must infer everything from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_documents_listApi chat documents listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| ordering | No | ||
| max_pages | No | ||
| source_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the bar is lower, but the description adds nothing beyond them — no mention of what is returned, whether results are paginated, or what 'optimized data' means for the caller. The serializer-context detail is invisible to an API consumer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from saying nothing useful rather than being efficient — the one sentence is internal jargon that doesn't front-load the operation or its inputs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter list endpoint with no output schema and no annotation-supplementing detail, the description leaves the agent unable to know what filters exist, what the response contains, or how paging works. Completely inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Nine parameters (id, limit, folder, offset, search, status, ordering, max_pages, source_type) with 0% schema description coverage, and the description explains none of them. Filters like folder, status, and source_type are undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal Django implementation note ('override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does. An agent must infer from the tool name that it lists chat documents; the description never says so.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus siblings like chat_documents_retrieve or chat_documents_object_retrieve, and no mention of filtering, pagination, or prerequisites. The single sentence is about internals, not caller-facing usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_documents_object_retrieveApi chat documents object retrieveCRead-onlyIdempotent
ViewSet for managing indexed documents.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 covered and the description adds nothing on top. It does not say what an indexed document contains, whether indexing status matters, or whether a missing id errors or returns empty — the details an agent actually needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is concise. But the terseness comes from being content-free rather than from editing, so conciseness here does not earn a high score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one undocumented required parameter, no output schema, and no return-value description, an agent has no way to know what it will receive or how to supply the id. The annotations cover only safety, leaving scope, parameter type, and response shape completely unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the single required `id` parameter is undocumented in both schema and description. The description does not indicate whether the id is a UUID, integer, or document slug, nor what happens with an unknown id — a real gap for a path-parameter retrieve.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a generic ViewSet docstring, "ViewSet for managing indexed documents," which restates the class rather than stating what this endpoint does. It never says it retrieves a single indexed document by id, and it is indistinguishable in wording from the sibling create/update/list/destroy chat_documents tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus ciso_assistant_api_chat_documents_list or ciso_assistant_api_chat_documents_retrieve. The word "managing" actively muddies things by implying a broader admin scope than a single-object read.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_documents_partial_updateApi chat documents partial updateD
ViewSet for managing indexed documents.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare a non-read-only, non-destructive, non-idempotent mutation with open-world scope, but the description discloses none of that behavior. It says nothing about what a partial update does to unspecified fields, whether the body merges or replaces, or what happens to the indexing state — the one thing the phrase 'indexed documents' hints at but never explains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but it is boilerplate under-specification rather than earned conciseness. Nothing in the sentence helps a caller decide or construct a request.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive-capable mutation on a loosely typed body object with no output schema, no annotation explanation in prose, and zero schema coverage — the description should be doing heavy lifting and instead does none. An agent would be guessing at every step.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning, and it carries none. The required 'id' and the opaque 'body' object (additionalProperties: true, no field list) are completely unexplained — the agent has no way to know what keys body accepts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the ViewSet boilerplate ('managing indexed documents') rather than stating the operation. The tool is a PATCH/partial update against a single document identified by id, yet neither 'update', 'partial', nor 'modify' appears. An agent cannot tell from this text whether it is a read, write, or delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to use this versus the many sibling chat_documents endpoints (create, list, retrieve, update, destroy, batch_action). No prerequisites, no exclusions, no mention of the full vs partial update distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_documents_retrieveApi chat documents retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 a useful non-obvious behavioral note that unauthorized related fields are masked, but it omits what happens on missing or unauthorized IDs and does not describe the returned object.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though its brevity comes at the cost of vagueness about the resource being retrieved.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and a 0%-documented parameter, the description should carry more weight. It explains masking but not what object is returned, what 'unauthorized related fields' means concretely, or how this differs from closely named siblings like chat_documents_object_retrieve.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions the required 'id' parameter. While 'id' is somewhat self-explanatory, the description does not clarify its format, whether it is the document ID, or how it relates to the masked return object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a generic action ('Return a single object') and adds a masking detail, but never names the resource (chat document). It implicitly distinguishes a single-object fetch from the sibling list endpoint, yet an agent cannot confirm from the description alone whether this is a chat document or another object type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no explicit mention of alternatives such as the chat_documents_list or chat_documents_object_retrieve siblings. The only usage hint is the implied 'single object' scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_documents_updateApi chat documents updateDIdempotent
ViewSet for managing indexed documents.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are contradicted, but the description adds no behavioral context whatsoever. It does not say what 'update' replaces (does the optional body overwrite the whole indexed document?), whether the document is re-indexed, what permissions are needed, or that OpenAI-style indexing happens server-side. For a mutation tool with openWorldHint=true, that is a serious omission.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no bloat, but the sentence does not earn its place: it conveys no actionable information and is not front-loaded with the operation. This is under-specification rather than genuine conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with no output schema, 0% parameter documentation, and only generic annotations, the description should explain what gets updated and how. Instead it offers a boilerplate ViewSet label, so an agent cannot safely invoke it without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden and provides nothing about the two parameters. It never mentions the required 'id' or the optional free-form 'body' object, leaving the meaning and expected structure of 'body' entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'ViewSet for managing indexed documents', which names the resource but never states the operation. The tool name and title indicate an update, yet the sentence could equally describe chat_documents_create, destroy, list, or retrieve. It is a generic framework docstring rather than a statement of what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or how it differs from ciso_assistant_api_chat_documents_partial_update, create, or destroy. An agent has to infer from the tool name alone that this is a full update of an existing indexed document. Nothing in the description routes the agent to the right sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_ollama_models_retrieveApi chat ollama models retrieveBRead-onlyIdempotent
List available models from the Ollama server.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered. The description adds only that the data comes from an external Ollama server; it says nothing about behavior when the server is unreachable, whether auth is required, or what shape the output takes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is as short as it can be, though that brevity is also the source of the missing guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-param read with rich annotations the description is close to adequate, but there is no output schema and the description does not indicate what 'models' look like (names vs. objects) or what happens on connection failure. A brief return-format or failure note would close the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to explain; baseline 4 applies. No parameter detail is needed or missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('available models') with the source system ('Ollama server'), so the operation is unambiguous. It doesn't explicitly contrast with any sibling, but no sibling in this catalog touches Ollama, so the name-plus-description is sufficient to disambiguate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no 'when to use' guidance, no prerequisites (e.g. Ollama configured/reachable), and no mention of alternatives. The agent must infer that this is for discovering which local LLMs are installed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_questions_batch_action_createApi chat questionnaire questions batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing on top: no statement of which actions modify vs delete, whether the call is transactional, what permissions are required, or what happens to objects not matched — all of which matter for a non-idempotent mutating batch endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, so it is not bloated — but the brevity reflects under-specification rather than economy. Nothing is front-loaded beyond a generic verb phrase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world mutating tool with an empty input schema and no output schema, the description supplies no action vocabulary, no payload shape, and no result expectations. An agent cannot reliably invoke this tool from the definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter count is zero, which normally sets a baseline of 4, but the schema is an empty object with additionalProperties=false — the description was the only place to explain the expected batch payload (action plus ids) and instead only hints at 'multiple objects'. It therefore adds marginal meaning without compensating for the unusable schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Perform a batch action on multiple objects' is generic boilerplate that could describe any of the dozens of sibling *_batch_action_create tools. It never names the resource (chat questionnaire questions) and never states which batch actions are supported, so an agent must fall back entirely on the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use context, no prerequisites, no exclusions, and no mention of the sibling tools (e.g. _questions_partial_update/_destroy or the questionnaire_runs batch action) that would be the alternative for single-object or different-resource operations. The agent is left to 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.
ciso_assistant_api_chat_questionnaire_questions_cascade_info_retrieveApi chat questionnaire questions cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so safety is covered. The description adds nothing beyond that: it does not explain what the cascade preview computes, whether it is a dry-run of deletions, or what the response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words and a colon are technically concise but the content is under-specified rather than efficient; nothing is front-loaded because nothing substantive is stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only retrieval tool taking an id and returning no documented output schema, the description should at minimum say what is returned and what the id identifies. Neither is present, leaving the agent unable to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter "id" has 0% schema description coverage, and the description says nothing about it. It is unclear whether the id refers to a questionnaire run, a question, or another entity, so the description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment that roughly restates the title/endpoint name rather than stating what the tool does. It hints at a preview of cascade-related data but never says which resource (questionnaire questions) or what a "cascade preview" contains, so an agent cannot distinguish it from the many other *_cascade_info_retrieve siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus ciso_assistant_api_chat_questionnaire_questions_retrieve, _object_retrieve, or any of the dozens of other cascade_info_retrieve tools. No prerequisites, no exclusions, no context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_questions_createApi chat questionnaire questions createD
api_chat_questionnaire_questions_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false, so the mutation profile is known without the description. The description adds nothing beyond that — no note on what the body must contain, whether retries duplicate records, or what a successful call returns. It does not contradict the annotations, but it contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but short because it is under-specified rather than efficient. Front-loading is moot since the only content is the tool name echoed back.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A non-idempotent create tool taking an arbitrary JSON body, with no output schema and no documentation, is completely underspecified. An agent cannot know what payload structure to send or how the operation relates to the retry/suggest/batch siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'body' parameter is an untyped anyOf object with null default and 0% schema description coverage, so the schema tells the agent nothing about the expected payload shape. With low coverage the description must compensate, and it provides no information whatsoever about the questionnaire question fields the body should carry.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description simply restates the tool name in snake_case, converting it into a sentence-like string without adding any explanation. The name does weakly imply creating questionnaire questions via a chat API, but there is no verb-object statement, no scope, and no differentiation from the many sibling question tools (create_and_retry, batch_action, suggest_control, retry_with_control).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. Given siblings like ciso_assistant_api_chat_questionnaire_questions_create_and_retry_create and ..._suggest_control_create, an agent has no basis for choosing this plain create over the specialized variants. No prerequisites, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_questions_create_and_retry_createApi chat questionnaire questions create and retry createD
Create an AppliedControl in the question's folder from a (possibly
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the description should explain that a new AppliedControl is written and what the non-idempotent retry behaviour means. Instead the text stops mid-sentence and adds nothing about side effects, preconditions, or what is produced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single truncated fragment; it is not concise, it is incomplete. There is no way for a reader to parse it without guessing the missing remainder.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world write tool with an undocumented id parameter and no output schema, an agent needs to know what is created and from what. None of that survives the truncation, so the definition is unusable as guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter (id) with 0% schema description coverage, and the description never mentions it. It is unclear whether the id identifies the questionnaire question, a run, or something else, which is exactly the ambiguity the description had to resolve.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The fragment opens with a verb+resource ("Create an AppliedControl in the question's folder"), but the sentence is cut off mid-parenthetical ("from a (possibly"), so the actual purpose, the source of the control, and how it relates to the retry behaviour in the tool name are never stated. An agent cannot tell what this does versus ciso_assistant_api_chat_questionnaire_questions_retry_with_control_create or suggest_control_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, no prerequisites, no alternatives. Nothing indicates why one would call this instead of the sibling retry_with_control_create or suggest_control_create tools, and the truncated clause "from a (possibly" removes any implied selection condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_questions_destroyApi chat questionnaire questions destroyDDestructiveIdempotent
api_chat_questionnaire_questions_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, openWorldHint=true and readOnlyHint=false, and the description adds no behavioral context on top of them — nothing about cascade effects, whether answers tied to the question are removed, or permission requirements. For a destructive operation, this is a serious omission.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but brevity here comes from under-specification rather than economy; it conveys zero information beyond the tool name and has no front-loaded statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, open-world delete endpoint with no output schema and no described parameter needs far more explanation than a name echo. Nothing an agent needs in order to call it safely — what gets removed, irreversibility, cascade behavior — is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'id' parameter has 0% schema description coverage and the description says nothing about it. It is not stated whether 'id' is the questionnaire question UUID or a related run/question identifier, leaving the caller to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name ('api_chat_questionnaire_questions_destroy'), which is the definition of tautology. An agent can only infer the resource and action by parsing the machine-generated name, not from any prose description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, when not to, or which sibling to prefer. It does not point to alternatives like ciso_assistant_api_chat_questionnaire_questions_list or _partial_update, nor does it mention prerequisites for deleting a questionnaire question.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_questions_listApi chat questionnaire questions listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| questionnaire_run | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered. The description adds nothing beyond the annotations — no return shape, no pagination behavior for limit/offset/max_pages, no filterable fields. It doesn't contradict the annotations, but it contributes no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence, so there's no bloat, but it is under-specified rather than concise: the sentence spends its words on an implementation note that gives the agent no actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With seven undocumented parameters, no output schema, and a description that only mentions an internal serializer optimization, an agent lacks nearly everything needed to invoke this tool correctly — what it returns, how to filter, and how pagination parameters interact are all missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across all seven parameters (id, limit, offset, search, ordering, max_pages, questionnaire_run), and the description does not clarify any of them. Nothing distinguishes, say, limit from max_pages or explains what questionnaire_run filters by. This is a severe gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates an internal Django implementation detail ("Override the list method to inject optimized data into the serializer context") rather than stating what the tool actually does for an agent — presumably listing questionnaire questions. An agent can infer that it returns a list of chat questionnaire questions from the tool name, but the description itself does not deliver that purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling is the alternative (e.g., object_retrieve, cascade_info_retrieve, batch_action_create). The single sentence describes an internal override and offers no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_questions_object_retrieveApi chat questionnaire questions object retrieveDRead-onlyIdempotent
api_chat_questionnaire_questions_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered structurally. The description adds nothing beyond that - no statement about permissions, scoping, or what the object payload contains - so it earns no credit for supplementary behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Seven words with no padding, but the content is a duplicate of the machine name rather than a front-loaded summary. Brevity here reflects under-specification rather than effective concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one undocumented required parameter and no output schema, the description needed to explain the lookup key and the returned object. It provides neither, leaving the agent to guess at the resource identity and response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required 'id' parameter is documented nowhere. The description does not say whether the id is the question's UUID, a run id, or a composite key, nor any format constraints, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name, 'api_chat_questionnaire_questions_object_retrieve', with no verb/resource phrasing an agent can parse. It only weakly implies fetching a single questionnaire question object, and gives no indication of how it differs from the many sibling retrieve/list/object_retrieve variants for the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description contains no when-to-use guidance at all and no mention of alternatives such as ciso_assistant_api_chat_questionnaire_questions_retrieve, _list, or _cascade_info_retrieve. The agent must infer the selection rule purely from the tool name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_questions_partial_updateApi chat questionnaire questions partial updateD
api_chat_questionnaire_questions_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false, so the mutation profile is covered structurally. The description adds nothing: it doesn't say which fields can be patched, what happens to omitted fields, or what permissions/errors are involved. No contradiction with annotations, but zero added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here is under-specification rather than conciseness: a single repeated identifier with no front-loaded verb or scope. There is no wasted sentence because there is effectively no content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with no output schema, an unconstrained `body` payload, and 0% schema description coverage. The description supplies none of the missing context needed to invoke it correctly, which for a non-idempotent partial update is a serious gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are 2 parameters, including an opaque freetext `body` object with additionalProperties allowed. The description does not explain what `id` identifies or what keys `body` accepts — the most consequential ambiguity in this tool and entirely unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim: "api_chat_questionnaire_questions_partial_update". It restates the identifier without stating in plain language what changes, on which resource, or to what end. An agent must parse the snake_case name to infer it partially updates a questionnaire question.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no exclusions. Siblings include ..._partial_update, ..._update, ..._create, ..._destroy, ..._retrieve, ..._object_retrieve — the description gives no basis for choosing among the update vs partial_update vs retrieve variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_questions_retrieveApi chat questionnaire questions retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so safety is covered; the description adds genuinely non-obvious behavior — unauthorized related fields are masked in the response. It stops short of saying which fields get masked or what happens on a missing/unauthorized id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding and the key behavioral fact front-loaded. The terseness is not the problem — the omission of subject matter is.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with annotations and no output schema, the description still leaves the core question unanswered: what record is returned and what it contains. The masking note is the only substantive content.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required 'id' parameter with 0% schema description coverage, and the description says nothing about it — no mention of which id space (question id vs run id) or format. For a one-param tool this is a small but real gap, since 'id' is ambiguous across the questionnaire-runs/questions families.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Return a single object" restates the retrieve part of the name without ever naming the resource — it never says it returns a chat questionnaire question. The only added content, field masking, is useful but does not tell an agent what entity is being fetched.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no differentiation from the many sibling retrievers in the same family (questions_retrieve vs questions_object_retrieve vs questions_list vs questions_cascade_info_retrieve). The agent must infer selection from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_questions_retry_with_control_createApi chat questionnaire questions retry with control createC
Re-run a single question's answer pipeline with a chosen
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true and idempotentHint=false, so the agent knows this mutates state and is not repeatable. The description adds nothing about what the re-run does to existing answers, whether it calls an LLM (cost/latency), or whether results are synchronous — all critical for a non-idempotent pipeline trigger.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Being short is not a virtue here — the single sentence is literally incomplete, ending on "with a chosen". That is under-specification rather than concision, and no useful information is front-loaded beyond the verb.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, one undocumented parameter, and annotations that only cover the safety profile, the description should at minimum explain what happens on invocation and what is returned. The truncated text leaves an agent unable to call this correctly with confidence about the `id` semantics or the side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single required parameter `id`, and the description never mentions it. It is unclear whether `id` is the question UUID, an answer id, or a run id, and the truncated phrase about a "chosen" argument suggests a second input that does not exist in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description has a specific verb and resource ("Re-run a single question's answer pipeline"), which is more informative than the tautological title. However the sentence is truncated mid-thought ("with a chosen"), so the actual operation — presumably choosing a control and re-running — is never stated. It also does not distinguish this from sibling tools like chat_questionnaire_questions_create_and_retry_create or suggest_control_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to prefer this over create_and_retry_create or suggest_control_create, nor any prerequisite or triggering context. The one hint ("with a chosen ...") is cut off before it conveys anything actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_questions_suggest_control_createApi chat questionnaire questions suggest control createC
Synchronous LLM call: draft an AppliedControl that would let us
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true and idempotentHint=false, so safety and idempotency are covered. The description adds one genuinely useful trait not in the annotations: that this is a synchronous LLM call, implying latency and generative output. It does not say whether the drafted control is persisted, what happens on model failure, or whether repeat calls produce different results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The front-loaded 'Synchronous LLM call' framing is efficient, and the total length is minimal. But the single sentence is cut off and never completes its thought, so brevity has become under-specification rather than tightness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world LLM-backed creation endpoint with no output schema, the description should explain the input object, what is produced, and whether it is saved. With an incomplete sentence and an undocumented id parameter, an agent cannot confidently invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter is a bare string 'id'. The description never identifies what that id refers to (presumably a questionnaire question), so the agent must guess from the tool name alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action (draft) and target artifact (an AppliedControl), which does distinguish it somewhat from siblings like retry_with_control_create or create_and_retry_create. However, the sentence is truncated mid-clause ('that would let us'), so the actual relationship between the input and the drafted control is never stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the numerous sibling questionnaire-question tools (create, create_and_retry_create, retry_with_control_create, suggestions variants). No preconditions, no exclusions, and no mention of what the caller must do with the result.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_questions_updateApi chat questionnaire questions updateDIdempotent
api_chat_questionnaire_questions_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
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 safety profile is covered structurally. The description adds nothing beyond that — no mention of what the update affects, whether partial vs full replacement semantics apply, or any auth/rate-limit context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single opaque token — not verbose but also not organized prose. There is no front-loaded statement of action or outcome to guide the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a free-form body object, zero schema coverage, and no output schema, the description should explain what is being updated and what the body should contain. None of that is provided, leaving the definition unusable without external API docs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description says nothing about the two parameters. The 'id' identifier and the untyped 'body' object (additionalProperties: true, nullable) are entirely undocumented in both schema and description, so the agent has no basis for constructing the payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the identifier string 'api_chat_questionnaire_questions_update' restated, with no verb phrasing or explanatory content. An agent can only infer 'update a chat questionnaire question' from parsing the name itself, which is tautology rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as api_chat_questionnaire_questions_partial_update, _create, or _update variants. No prerequisites, no exclusions, nothing implied beyond the raw name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_runs_batch_action_createApi chat questionnaire runs batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already state readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false. The description adds no further behavioral detail about authorization, side effects, partial failures, or what "batch action" means operationally.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, so it is concise. However, it is generic boilerplate rather than front-loaded resource-specific information, so it adds little value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool whose name references chat questionnaire runs and a batch action, the description never identifies the resource, the permitted action, or what happens to multiple objects. With no output schema and only generic annotations, the agent lacks enough context to understand the call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters, so there are no parameter semantics for the description to document. Under the rubric, a zero-parameter tool earns baseline 4, even though the empty schema leaves the actual batch-action payload opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says "Perform a batch action on multiple objects," but never names the specific resource (chat questionnaire runs) or the action involved. Among many sibling `*_batch_action_create` tools, this generic wording does not let an agent distinguish what this tool actually operates on.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or which sibling alternatives are appropriate. It does not explain when a batch action on questionnaire runs should be chosen over the create/update/list variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_runs_cascade_info_retrieveApi chat questionnaire runs cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: no indication of what cascade depth is previewed, whether the result is computed or cached, or what the 'id' refers to in the cascade graph.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but not concise in the useful sense: a two-word fragment ending in a colon conveys no actionable information and appears truncated. Brevity without content is under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotation-level explanation of the payload, and zero parameter documentation, the description leaves the agent unable to predict what the call returns or why a preview exists alongside the non-preview retrieve siblings. Given the simplicity of the tool (one id parameter) this is a modest but real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter 'id' with 0% schema description coverage, and the description supplies no clarification of what id is expected (questionnaire run id vs. cascade root object id) or what form it takes. The only hint comes from the tool name, not the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment "Cascade preview:", which essentially restates the tail of the tool name rather than explaining what operation is performed. It does not say what a cascade preview is, what entity hierarchy is being previewed, or what the returned payload represents. The trailing colon suggests truncated text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to call this versus the many sibling cascade_info_retrieve endpoints (actors, teams, users, findings, etc.), nor versus the plain _retrieve or _object_retrieve variants on the same questionnaire-runs resource. The agent must guess from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_runs_createApi chat questionnaire runs createC
Experimental: questionnaire prefill runs.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds one genuinely useful behavioral fact — that the feature is experimental — but says nothing about what the run does, whether it triggers LLM calls, or what state it mutates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, front-loaded with the experimental caveat, so nothing is wasted. But the brevity comes from omission rather than efficiency — the sentence ends before conveying any actionable content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A non-idempotent, open-world create operation with an opaque body, no output schema, and no annotations describing side effects or return values, sitting in a very large sibling namespace. The description leaves an agent without enough to call it correctly or to know what results to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single `body` parameter is an untyped free-form object with additionalProperties=true, so the schema conveys nothing. The description does not compensate at all: it never states which fields the body should carry or whether it is even required for a prefill run.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Experimental: questionnaire prefill runs" restates the tool name almost verbatim and never supplies a verb (create/start) or says what a run represents. The only value added is the "Experimental" stability warning; an agent still cannot say concretely what invoking this produces, especially versus the sibling start_questionnaire_prefill_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use statement, no prerequisite, and no mention of alternatives. The sibling set contains several closely related operations (chat_questionnaire_runs_extract_questions_create, chat_questionnaire_runs_upload_create, chat_agent_runs_start_questionnaire_prefill_create), yet none are referenced, so routing is left entirely to guesswork from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_runs_destroyApi chat questionnaire runs destroyDDestructiveIdempotent
Experimental: questionnaire prefill runs.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered structurally. The description adds only 'Experimental' and says nothing about what is destroyed (the run and presumably its questions), whether it is recoverable, or what authorization is required — an odd gap for an irreversible delete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single short fragment with no wasted words, but its brevity comes from under-specification rather than efficiency; there is nothing to front-load because there is no operation described.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-reversible deletion endpoint with one undocumented parameter and no output schema, the description should state that it permanently removes a questionnaire prefill run. It does not, leaving the agent to infer the core behavior from the tool name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'id' has 0% schema description coverage, so the description carries the full burden of explaining it. It says nothing — not whether 'id' is the run's UUID, what object it identifies, or how to obtain it (e.g., from runs_list).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Experimental: questionnaire prefill runs' names the resource but omits the operation entirely; only the tool name's 'destroy' suffix reveals that it deletes a run. It reads as a restatement of the resource rather than a statement of a specific verb+resource action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no reference to any of the many sibling tools (runs_retrieve, runs_list, runs_partial_update). The word 'Experimental' hints at caution but gives no actionable condition for selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_runs_export_retrieveApi chat questionnaire runs export retrieveBRead-onlyIdempotent
Stream a copy of the original xlsx with response/comment columns
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 needs no restating. The description does add genuine behavioral context the annotations lack: the output is 'streamed' and is a binary xlsx with appended response/comment columns. It stops short of saying what content type or encoding the stream arrives in, which matters for handling the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, and the key fact (xlsx with response/comment columns) is front-loaded. It is efficient but so terse that useful details were cut rather than omitted for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, no-output-schema tool this is minimally adequate: the agent knows it gets a streamed xlsx. But the parameter meaning and the streaming/response handling are undocumented, which for a binary export is a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% — the single 'id' property has no description at all — so the description must carry the meaning. It never mentions the parameter, leaving the agent to guess whether id is a questionnaire run id, a session id, or a file id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Stream') and resource ('a copy of the original xlsx with response/comment columns'), which tells an agent this returns the source spreadsheet enriched with answers, not a JSON record. It never names the questionnaire run itself, so the resource context comes from the tool name rather than the description, and no sibling export (e.g. other *_export_xlsx_retrieve tools) is distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this instead of ciso_assistant_api_chat_questionnaire_runs_retrieve or object_retrieve, and no note that it requires a run created from an uploaded xlsx. The agent must infer the trigger condition entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_runs_extract_questions_createApi chat questionnaire runs extract questions createB
Materialize QuestionnaireQuestion rows from parsed_data + column_mapping.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false. The description adds relevant context that rows are materialized from existing parsed data and a column mapping, but it does not describe permissions, repeat-call behavior, or side effects beyond row creation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single front-loaded sentence with no wasted text. It communicates the core operation immediately and does not repeat structured fields unnecessarily.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world create operation with no output schema and a completely undocumented required identifier, the description is too sparse. It does not clarify what the required ID refers to, what preconditions must exist, or what happens on repeated invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there is one required parameter, "id", which the description never explains. The description references parsed_data and column_mapping, but those are not schema parameters; it leaves unclear whether "id" is the questionnaire run ID or another identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ("Materialize") and names the exact resource created ("QuestionnaireQuestion rows"), along with the source inputs ("parsed_data + column_mapping"). This distinguishes it from generic questionnaire-question creation tools, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives no explicit guidance on when to use this extraction endpoint versus related siblings such as questionnaire_questions_create, questionnaire_runs_upload_create, or batch_action_create. The intended context is inferable from the tool name, but the description itself does not state prerequisites or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_runs_listApi chat questionnaire runs listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds nothing behavioral — no pagination, filtering, or result-shape context — only an internal serializer note that is irrelevant to invocation. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no padding, but it is under-specified rather than concise: the one sentence spent is devoted to an implementation detail and nothing is front-loaded about the tool's actual function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 undocumented parameters, no output schema, and no description of what a questionnaire run is or what listing returns, the definition is far too thin for the complexity of the tool. It leaves the agent unable to call it correctly or safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 8 parameters (id, limit, offset, folder, search, status, ordering, max_pages) have zero schema description coverage and mostly untyped anyOf wrappers. The description supplies no meaning for any of them, leaving the agent unable to infer filtering, pagination, or ordering semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description describes an internal Django implementation act ("override the list method to inject optimized data into the serializer context") rather than the caller-facing purpose of listing chat questionnaire runs. Only the tool name and title convey the verb and resource, so the description itself is essentially a restatement of internals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, when not to, or how it relates to the sibling tools (e.g. chat_questionnaire_runs_retrieve, _object_retrieve, _cascade_info_retrieve, _export_retrieve). An agent has no basis for choosing this over its many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_runs_mapping_partial_updateApi chat questionnaire runs mapping partial updateB
Persist the user's column-mapping choice for this run.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true. The description adds that the operation persists the user's mapping choice for a specific run, which is useful mutation context and is consistent with the write annotation. It does not add permissions, side effects, or return behavior, but 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted text. The action and target are stated immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with no output schema, the description is too sparse about how the mapping choice is supplied. It says the tool persists a mapping choice, but the only parameter is id, so an agent cannot tell what data is being persisted or how to invoke the operation correctly beyond identifying a run.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter, id, with 0% description coverage. The description does not explain that id identifies the questionnaire run, nor does it mention the mapping payload at all; in fact, it describes persisting a column-mapping choice even though the schema exposes no mapping field. This leaves the agent with an unclear relationship between the documented action and the actual parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ("Persist") and a concrete resource ("the user's column-mapping choice for this run"), which distinguishes it from the generic questionnaire-runs update tools. It is clear what the tool does, though it does not explicitly contrast itself with the sibling runs_partial_update or runs_update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "for this run" implies the tool should be used during an active questionnaire run when a column mapping has been chosen, but there is no explicit when-not guidance or named alternative. In a family with generic runs_partial_update and runs_update siblings, the lack of routing guidance is a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_runs_object_retrieveApi chat questionnaire runs object retrieveCRead-onlyIdempotent
Experimental: questionnaire prefill runs.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so safety is covered structurally. The description adds only the 'Experimental' tag, with no information on permissions, what happens to a run in prefill state, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short front-loaded sentence with no padding, but it is under-specified rather than concise. Nothing is wasted, yet little is delivered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool with an undocumented required parameter and no output schema, the description should explain what a 'run' is and what is returned. Neither is present, leaving the agent to guess from the endpoint name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single required 'id' parameter is undocumented in both schema and description. The description does not say what the id identifies or what format it takes, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Experimental: questionnaire prefill runs' names the domain but never states the verb or that it fetches a single run by id. With siblings like questionnaire_runs_retrieve, _object_retrieve and _list all present, an agent cannot distinguish this tool from them without reading the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this versus questionnaire_runs_retrieve or _object_retrieve, nor any precondition. The only hint is the 'Experimental' label, which suggests caution but does not guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_runs_partial_updateApi chat questionnaire runs partial updateD
Experimental: questionnaire prefill runs.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so the safety profile is known. The description adds nothing beyond the word 'Experimental' — it doesn't explain what a prefill run is, what the body mutates, or what side effects occur when a run is patched.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than concision — a two-word fragment with a qualifier that conveys no actionable information and isn't front-loaded around the actual operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an unspecified free-form body, no output schema, and 0% parameter documentation, the description does essentially none of the work required to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the body parameter is an unconstrained anyOf object with additionalProperties:true and no documentation anywhere. The description supplies zero information about the identifier's meaning or the expected body shape, leaving the agent with an opaque parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a fragment, 'Experimental: questionnaire prefill runs.', that names a domain object but supplies no verb and never states that the tool performs a partial update of an existing run. An agent must fall back entirely on the tool name to infer the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many sibling questionnaire-run tools (runs_update, runs_create, runs_extract_questions_create, runs_mapping_partial_update, etc.). 'Experimental' is the only hint and it doesn't route the agent anywhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_runs_retrieveApi chat questionnaire runs retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so safety is covered. The description adds genuinely useful context beyond that: unauthorized related fields are masked in the response, telling the agent to expect redacted data. It does not say what happens when the id is missing or unauthorized, so it is only a partial gain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, tight sentence with no filler, though it is terse to the point of under-specification rather than being efficiently informative. The masking clause is the only substantive content and arrives without setup.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations describing the response shape, the description should say what fields come back, what masking implies, and how errors (404/403) manifest. It provides none of that, leaving the agent unable to predict the response or handle failures for a simple but opaque single-object fetch.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description bears the full burden for the single required 'id' parameter, yet it says nothing about what the id identifies or its format. The masking behavior mentions 'related fields' but never ties it to how relationships are resolved from the id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only says it will "return a single object" – it never names the resource (a chat questionnaire run) or says what that object represents. Only the tool name and title carry that information, so the sentence essentially restates the 'retrieve' verb in the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many similar siblings such as ciso_assistant_api_chat_questionnaire_runs_object_retrieve, _list, or _cascade_info_retrieve. An agent has no way to know which retrieval variant is appropriate from the description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_runs_updateApi chat questionnaire runs updateDIdempotent
Experimental: questionnaire prefill runs.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, destructiveHint=false, idempotentHint=true, and openWorldHint=true, so safety is largely covered. The description adds only 'Experimental', which signals instability but does not explain what the update mutates, what happens to existing prefill run data, or any permission constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short fragment, so it is not verbose, but it is under-specified rather than concise. There is no front-loaded statement of the update action or its effect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an update endpoint with an undocumented body parameter, no output schema, and a dense set of sibling routes, the description is far too sparse. It leaves the agent unable to distinguish this tool from partial_update or understand what a valid update payload looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters. The description provides no information about the required 'id' or the opaque 'body' object, so an agent cannot infer what fields the update payload should contain or what the identifier refers to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Experimental: questionnaire prefill runs' names the resource area but does not state that this is an update operation or what is being updated. It largely restates a fragment of the tool name and does not distinguish the tool from the sibling partial_update endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this full-update endpoint versus the sibling partial_update, create, retrieve, or extract_questions tools. 'Experimental' hints at caution but does not tell an agent when or when not to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_questionnaire_runs_upload_createApi chat questionnaire runs upload createC
Multipart upload entry point: file + folder + optional title.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, so the safety profile is covered. The description adds nothing beyond the word 'multipart': it doesn't say whether the upload attaches to an existing run, whether re-uploading replaces or duplicates the file (relevant given idempotentHint=false), or what happens on size/type violations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is terse rather than padded; the shortfall is missing information, not wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a write/upload tool with no output schema and a schema that exposes no parameters, so the description carries the full burden. It doesn't explain the target resource, required prior state, or return value, and its implicit parameter list conflicts with the empty schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description names file, folder and title, but the input schema declares zero properties with additionalProperties=false — so the fields it describes are not accepted by the declared schema. This actively misleads an agent trying to construct the call rather than clarifying the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Multipart upload entry point" names an action (upload) and the transfer encoding (multipart), and the field list hints at the payload. But it never names the resource — questionnaire runs — and the title only repeats the API path, so an agent cannot distinguish it from the many sibling upload tools (chat_sessions_upload_create, evidences_upload_create, stored_libraries_upload_create) without reading the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus the sibling upload endpoints, no prerequisite that a questionnaire run must already exist, and no indication of what 'folder' selects. The agent is left to infer context entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_sessions_batch_action_createApi chat sessions batch action createD
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=false, idempotentHint=false and destructiveHint=false, so the description owes context rather than safety restatement. It adds nothing: no indication of the supported batch operations, whether they are atomic, or what happens to items that fail mid-batch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, and the verb is front-loaded. The problem is under-specification rather than verbosity, so it is efficient but uninformative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A non-idempotent, open-world mutation tool with an empty schema, no output schema and a very large sibling set needs far more: what a 'batch action' is here, the accepted action names, and selection semantics. None of that is present, making the definition unusable for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero properties with additionalProperties=false, which cannot be right for a batch action that must identify objects and an operation. The description does not compensate by describing the expected payload, so an agent has no way to construct a valid call from description or schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Perform a batch action on multiple objects' restates the name with no added specificity: it never names the resource (chat sessions), the supported actions, or the payload. Against dozens of sibling '*_batch_action_create' tools, an agent cannot tell this apart from ciso_assistant_api_answers_batch_action_create or ciso_assistant_api_chat_questionnaire_runs_batch_action_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus ciso_assistant_api_chat_sessions_update, ciso_assistant_api_chat_sessions_partial_update, or ciso_assistant_api_chat_sessions_destroy. No prerequisites, no mention of whether targets are selected by ID list, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_sessions_cascade_info_retrieveApi chat sessions cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 covered. The description adds only the word "preview," implying a non-committal read of cascade consequences, but never states what the preview contains or what cascade means here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is certainly short, but that is under-specification rather than conciseness; the dangling colon signals an incomplete sentence rather than a front-loaded summary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, no parameter documentation, and a name that only implies its resource, the description supplies nothing an agent needs to decide to call it or to interpret the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter `id` is completely undocumented. The description provides no compensating detail about which identifier is expected or what form it takes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" gestures at the cascade-info concept but is a truncated fragment with no verb and no object resolved beyond the tool name. An agent cannot tell what is being previewed (deletion impact? related objects?) or on which resource, though the name hints at chat sessions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, no exclusions, and no mention of the many sibling cascade_info_retrieve tools or of ciso_assistant_api_chat_sessions_retrieve. The trailing colon suggests text was cut off entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_sessions_createApi chat sessions createC
ViewSet for chat sessions with streaming message endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey the safety profile (readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false), so the description's burden is lighter, but it adds nothing beyond them. It does not say whether creating a session returns an identifier, whether a title/body is expected, or what the 'streaming' mention implies for this endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so length is fine. But the one clause it contains is framework jargon about a different endpoint, so the brevity comes at the cost of any useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world create endpoint with an opaque body parameter and no output schema, the description should explain the expected payload and what gets returned. Neither is covered, leaving the agent unable to invoke the tool correctly without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, an untyped free-form object named 'body' with 0% schema description coverage, and the description says nothing about it. An agent cannot tell whether body should carry a session title, an initial message, or be omitted entirely (default null).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the framework class rather than the action: 'ViewSet for chat sessions with streaming message endpoint' names a resource family but never says what 'create' does. Worse, the only concrete detail mentioned ('streaming message endpoint') belongs to the sibling chat_sessions_message_create, not to this tool, so it actively blurs differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus chat_sessions_list, chat_sessions_message_create, or chat_sessions_upload_create. With dozens of sibling chat tools, an agent gets no routing signal at all from the text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_sessions_destroyApi chat sessions destroyDDestructiveIdempotent
ViewSet for chat sessions with streaming message endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that — no mention of permanence, cascading effects on messages/documents, or auth requirements — and its 'streaming message endpoint' framing pulls in the opposite direction from a delete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is boilerplate that does not earn its place: for a destructive operation it is under-specified rather than concise. Length is fine; content is misplaced.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive mutation with no output schema, an undocumented required parameter, and no annotation beyond hints. The description supplies none of the missing information an agent needs to call it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden for the single required 'id' parameter, and it does not. It never clarifies whether id is the session UUID, whether it must exist, or what happens if it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a class-level docstring ('ViewSet for chat sessions with streaming message endpoint') that names the resource but never states the action. It reads like a browsing/streaming tool, while the tool name and annotations indicate permanent deletion of a single session. An agent reading only the description would not know this removes a chat session.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to delete a session versus using the many sibling tools (chat_sessions_list, chat_sessions_retrieve, chat_sessions_partial_update, chat_sessions_batch_action_create). No prerequisites, no warnings about irreversibility, no indication of what the id refers to.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_sessions_listApi chat sessions listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered structurally. The description adds nothing an agent can act on — 'inject optimized data into serializer context' is an internal backend concern and does not disclose return shape, pagination behavior, or result ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not verbose, but it is under-specification rather than conciseness — the one sentence carries no information useful for invocation. Front-loading is moot when the content is a backend implementation note.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A five-parameter list endpoint with no annotations gap to hide behind, zero schema coverage, and no output schema requires the description to explain pagination, search syntax, and ordering fields. It explains none of this, leaving the agent unable to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All five parameters (limit, offset, search, ordering, max_pages) have 0% schema description coverage and untyped anyOf schemas, and the description says nothing about them. The burden was entirely on the description here and it provides no meaning for any parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description describes an internal implementation detail ('Override the list method to inject optimized data into the serializer context') rather than stating the user-facing operation. It never says it lists chat sessions, so the resource must be inferred from the tool name alone. This is closer to a code comment than a tool purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many sibling list/retrieve tools (e.g. chat_sessions_retrieve, chat_sessions_object_retrieve, chat_agent_runs_list). No prerequisites, no filtering context, no exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_sessions_message_createApi chat sessions message createC
Send a message and get a streaming SSE response.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false, so the safety profile is covered. The description earns credit for disclosing the SSE streaming return, which is materially useful for an agent (it must handle a stream, not a JSON object), but omits auth needs, what happens on failure mid-stream, and whether the message mutates session state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler. Terseness is a virtue here structurally, though the brevity is what creates the content gaps noted elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain the SSE stream (event types, termination signal, error frames) — it does not. It also fails to explain how the message payload is transmitted given a schema with only `id`. For a non-idempotent, open-world, streaming mutation tool, this leaves the agent under-equipped to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required parameter `id`, and the description does not clarify that it is the chat session identifier. Worse, the description promises to 'send a message' yet the schema has no field for message content and sets additionalProperties=false, leaving the agent with no documented way to supply the actual message text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete action ('Send a message') and a return characteristic ('streaming SSE response'), but never says what a message is sent to — the chat session linkage only exists implicitly in the tool name. It doesn't differentiate from siblings like chat_sessions_create or chat_agent_runs_create. Purpose is inferable but not self-contained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites (e.g., must the session already exist? must it be in a particular state?), and no named alternative among the many chat_* siblings. The agent must guess whether this starts a conversation, continues one, or triggers an agent run.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_sessions_object_retrieveApi chat sessions object retrieveDRead-onlyIdempotent
ViewSet for chat sessions with streaming message endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds no behavioral context — no mention of auth scope, whether the returned session includes messages/attachments, or that 'retrieve' means fetch a single session by id. The streaming remark is misleading rather than informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, but that brevity is under-specification, not efficiency. It is not front-loaded with the operation ('retrieve a chat session by id'), and half the sentence is about an endpoint this tool does not expose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, yet the description does not say what a retrieved chat session contains — messages, questionnaire runs, owner, timestamps — which is the primary reason an agent would call it. For a retrieve tool with an undocumented id parameter and no return description, it is essentially unusable without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, so the description must explain it — instead it says nothing about what the id identifies or its format (UUID? slug?). With only one parameter the burden is small, but the description still adds zero meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is Django REST Framework boilerplate ('ViewSet for chat sessions') that restates the resource and never states what this operation does. It cannot be distinguished from the ~10 sibling chat_sessions tools (list, create, destroy, retrieve, update, message_create, upload_create) without reading the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is given. Worse, the only usage-flavored phrase ('with streaming message endpoint') points the agent toward a capability that belongs to a different sibling, ciso_assistant_api_chat_sessions_message_create, so the guidance is actively misleading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_sessions_partial_updateApi chat sessions partial updateD
ViewSet for chat sessions with streaming message endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds no relevant behavioral context such as what fields can be partially updated, whether the body is merged or replaced, or whether the operation has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only one sentence, but that sentence is not front-loaded with the operation and does not earn its place. It spends its limited words on 'ViewSet' and a streaming endpoint instead of the partial-update action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no output schema and two undocumented parameters at 0% schema coverage. The description is completely insufficient for an agent to understand what gets updated, how the body is interpreted, or when to choose this tool over the many chat-session siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no information about either parameter. It does not explain that 'id' identifies the chat session or that 'body' is an arbitrary object containing the fields to update.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'ViewSet for chat sessions with streaming message endpoint,' which names the resource but not the action. It never states that this tool partially updates a chat session, and it does not distinguish this operation from sibling tools such as chat_sessions_update, chat_sessions_retrieve, or chat_sessions_message_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this partial-update endpoint versus the full update, retrieve, list, or message siblings. The mention of a 'streaming message endpoint' is unrelated to a partial update and could misdirect an agent toward the wrong operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_sessions_retrieveApi chat sessions retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false. The description adds a useful behavioral caveat that unauthorized related fields are masked, but it does not explain authorization requirements or any 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence and is not bloated, but it is under-specified rather than genuinely concise. It is front-loaded with the return shape but omits key identifying context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve operation in a large API with many similarly named sibling tools, the description omits the resource name, the meaning of the required id, and any routing guidance. Masking is mentioned, but the definition is not complete enough to reliably select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter is named id with 0% schema description coverage, and the description never explains what the identifier refers to. It does not compensate for the undocumented parameter beyond the obvious schema name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns a single object, but never identifies the resource as a chat session or distinguishes this from sibling retrieve/list tools. It largely restates the operation implied by the name and title, with masking as the only added detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as ciso_assistant_api_chat_sessions_list or ciso_assistant_api_chat_sessions_object_retrieve. No prerequisites, exclusions, or contextual conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_sessions_updateApi chat sessions updateCIdempotent
ViewSet for chat sessions with streaming message endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that: no indication of what a successful update returns, whether it replaces or merges chat session state, or what auth/ownership constraints apply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, but it is not front-loaded on the actual operation and spends its only substantive clause on a different endpoint's feature. Brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema and zero parameter documentation, the description should carry the entire burden and does not. An agent gets no information about the update payload shape or the effect of the call beyond what the bare annotations imply.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%; the only parameter documentation anywhere is the raw type. The id is self-evident, but the body is an unconstrained object with additionalProperties=true and neither schema nor description lists any valid field, so an agent cannot construct a valid payload from this definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the resource rather than the operation: "ViewSet for chat sessions with streaming message endpoint" never says this call updates a chat session by id. The only concrete phrase points at the streaming message endpoint, which is a sibling tool (ciso_assistant_api_chat_sessions_message_create), so an agent could be actively misdirected.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no distinction from chat_sessions_partial_update, chat_sessions_retrieve, or chat_sessions_message_create. The one hint present (streaming message endpoint) confuses rather than routes, since it names behavior belonging to a different tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_chat_sessions_upload_createApi chat sessions upload createC
Upload a document to be indexed for RAG in this session's folder context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds the useful RAG-indexing outcome and folder scoping, but says nothing about accepted file types, upload encoding, size limits, or whether re-uploading duplicates the index entry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though its brevity leaves gaps that the other dimensions penalize rather than being wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write/upload endpoint with no output schema, one undocumented parameter, and no annotation covering file handling, the description omits the essentials an agent needs: what the id identifies and how the document payload is supplied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter is named only 'id', which is ambiguous — session id, document id, or folder id? The description mentions 'this session's folder context' but never ties the id to a session or explains its format, so it 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Upload a document') plus the effect ('to be indexed for RAG') and the scope ('this session's folder context'). It is clear what the call accomplishes, though it does not differentiate itself from nearby upload-style siblings such as ciso_assistant_api_chat_questionnaire_runs_upload_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this instead of chat_documents_create or the other upload endpoints, and no preconditions such as an existing session. The agent must infer timing 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.
ciso_assistant_api_chat_status_retrieveApi chat status retrieveARead-onlyIdempotent
Check chat service health: Ollama availability, index status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered and the bar is lower. The description adds that the response covers Ollama availability and index status, but says nothing about the state values returned, failure modes, or whether the call is expensive/slow against an external Ollama service (openWorldHint=true).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence naming the action and the two reported facets, with no filler. Slightly telegraphic, but every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is the only source for what comes back, and it names only two facets without describing result shape or possible status values. For a simple zero-parameter read this is adequate but leaves real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. Calling convention is unambiguous from the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb and resource: 'Check chat service health', plus the two dimensions reported (Ollama availability, index status). An agent can tell this is a status/diagnostic endpoint, though the description does not distinguish it from adjacent probes such as ciso_assistant_api_health_retrieve or ciso_assistant_api_chat_ollama_models_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied — a health check, presumably before relying on chat features — but there is no explicit when/when-not guidance and no mention of the overlapping health and Ollama-models siblings. The agent must infer the selection rule itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_comments_batch_action_createApi comments batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the basic safety profile: readOnly=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true. The description adds no context about what a batch action does, what payload or objects are expected, what permissions are needed, or what effects the operation has.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no preamble or bloat, so it is concise. However, it is so generic that its brevity reflects under-specification rather than well-structured communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an open-world, non-idempotent batch mutation tool, the description is far too thin. It does not explain what 'objects' are targeted, what action is performed, or how the operation behaves beyond the annotations, leaving substantial gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100%, so there are no parameter semantics for the description to clarify. This matches the baseline of 4 for a zero-parameter tool, even though the empty schema is unusual for a batch operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Perform a batch action on multiple objects,' which is a generic restatement of the endpoint family and never identifies the resource as comments. With many sibling tools ending in 'batch_action_create,' an agent cannot distinguish this from the comments, assets, frameworks, or hundreds of other batch actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this batch action, when not to, or which alternative tools to prefer for comments. The description provides no context about prerequisites, selection criteria, or supported batch actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_comments_cascade_info_retrieveApi comments cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 covered. The description adds only the vague notion of a "preview", without saying what is previewed (counts of dependent objects? blocking links?), whether it is scoped to the caller's permissions, or how large the response can be. It contributes minimal 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but short due to under-specification rather than efficiency, and it ends in a dangling colon that reads as an unfinished sentence. There is no front-loaded statement of what the call returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read with no output schema, an agent still needs to know what a "cascade preview" returns and what the id refers to. Annotations cover the read-only safety profile, but the description leaves the core semantics unknown, so the definition is not call-ready.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required string parameter, `id`, with 0% schema description coverage, so the description must explain it. It does not: nothing says whether `id` is a comment id, a content-type id, or a model identifier for the cascade computation. The parameter's meaning has to be inferred entirely from the tool name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a two-word fragment, "Cascade preview:", that only gestures at returning a preview of cascade effects for a comment object. It never states the verb or the resource, and the trailing colon suggests the sentence was truncated. The name and title carry nearly all of the meaning, which is the definition of tautology-level clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus siblings such as ciso_assistant_api_comments_retrieve, comments_object_retrieve, or comments_destroy. An agent gets no signal that this is a pre-deletion impact check rather than a normal read, and no exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_comments_createApi comments createD
api_comments_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, but the description adds no context about what the create operation affects, required permissions, or side effects. It does not contradict the annotations, but it contributes nothing beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is brief, but this is under-specification rather than conciseness — the single token conveys no information and there is nothing front-loaded because there is nothing substantive at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, an untyped payload parameter, and only annotations covering the safety profile, the description leaves every substantive question unanswered: what a comment attaches to, required fields, and what the call returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single 'body' parameter is an untyped anyOf object with a null default. The description does not explain what 'body' should contain or which comment fields (content, object reference, author) are expected, leaving the parameter completely opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the string "api_comments_create", a snake_case restatement of the tool name. It does not state a verb-plus-resource purpose in readable terms and gives no basis for distinguishing it from sibling tools like ciso_assistant_api_comments_batch_action_create or ciso_assistant_api_comments_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool, when not to, or which sibling (create vs batch_action_create vs update) to prefer. The agent must infer everything from the name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_comments_destroyApi comments destroyDDestructiveIdempotent
api_comments_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false and idempotentHint=true, yet the description adds nothing about what 'destroy' means here: permanent removal vs soft delete, cascading effects on replies/attachments, required permissions, or failure behavior for a non-existent id. For a destructive operation the description contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is not verbose, but the single token is under-specification rather than conciseness; there is no front-loaded statement of action or scope for the reader to anchor on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, open-world, irreversible-looking deletion with no output schema, no parameter documentation, and no description of consequences is completely inadequate for safe invocation; nothing tells the agent what it is about to permanently remove.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage and the description says nothing about it - not its format (integer vs UUID string), not whether it is the comment id, and not what happens if it references a reply or a missing record. With one undocumented param the description must compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name with underscores transposed ('api_comments_destroy'), a pure tautology that restates the identifier. It does not state what is deleted, from where, or how this differs from siblings such as ciso_assistant_api_comments_update or ciso_assistant_api_comments_batch_action_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all: no statement of when to use this instead of comments_update, comments_partial_update, or comments_batch_action_create, and no warning about when deletion is appropriate. An agent must infer everything 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.
ciso_assistant_api_comments_listApi comments listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| author | No | ||
| offset | No | ||
| search | No | ||
| finding | No | ||
| ordering | No | ||
| is_active | No | ||
| max_pages | No | ||
| risk_scenario | No | ||
| applied_control | No | ||
| requirement_assessment | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description does not contradict them, but 'inject optimized data into the serializer context' conveys no behavior an agent can act on — no filtering, pagination, response shape, or permission notes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity in service of an implementation note is wasted space rather than conciseness. The one sentence an agent reads is jargon about serializer context, not a usable statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter list endpoint with no output schema and no schema descriptions, the description carries the full explanatory burden and delivers none of it. An agent cannot tell what it will get back, how filtering composes, or how results are paginated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 12 parameters (id, limit, offset, author, search, finding, ordering, is_active, max_pages, risk_scenario, applied_control, requirement_assessment) with 0% description coverage, and the description says nothing about any of them. Filters, pagination semantics, and the meaning of max_pages are entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text 'Override the list method to inject optimized data into the serializer context' describes an internal implementation detail rather than the tool's function. Only the name/title ('Api comments list') tells the agent it lists comments; the description itself never names the resource or the operation from a caller's perspective.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool, when not to, or how it differs from siblings such as ciso_assistant_api_comments_object_retrieve, ciso_assistant_api_comments_retrieve, or ciso_assistant_api_comments_batch_action_create. The agent is left to infer everything from naming convention alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_comments_object_retrieveApi comments object retrieveCRead-onlyIdempotent
api_comments_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds nothing of its own — no note about what the comment object contains, permission scoping, or what happens on a missing/invalid id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single identifier string with zero waste, but this is under-specification rather than conciseness — there is no sentence to be front-loaded because no explanatory content exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only retrieval with no output schema, the description should at least say what is returned and how id is formatted. Neither is present, leaving the agent dependent entirely on the tool name and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single 'id' parameter is completely undocumented in both schema and description. The description does not clarify whether id is a numeric PK, UUID, or slug, which is the main ambiguity for a retrieve-by-identifier tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool identifier restated ('api_comments_object_retrieve'), adding no verb or object explanation beyond the name. An agent can infer it retrieves a comment object, but nothing distinguishes it from the many sibling '*_object_retrieve' and '*_retrieve' tools in this API.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus ciso_assistant_api_comments_retrieve, ciso_assistant_api_comments_list, or the cascade_info variants. The agent must guess from naming conventions alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_comments_partial_updateApi comments partial updateD
api_comments_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=true), but the description contributes nothing beyond them – it does not say what fields can be changed, whether omitted fields are preserved (the point of a partial update), or what permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Brevity here reflects under-specification rather than conciseness; there is no front-loaded purpose or structure to speak of since the text is a single name token.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 0% schema description coverage and no output schema, the description must carry substantial explanatory weight but carries none. It is completely inadequate given the complexity of an idempotency-sensitive partial update.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description compensates for none of it. With two parameters (id required, body optional), the description says nothing about identifier format or what 'body' represents, leaving the agent strictly worse off than the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just 'api_comments_partial_update', a verbatim restatement of the tool name. It implies a partial update of a comment object but adds no resource context, no scope, and does not differentiate this from sibling tools like ciso_assistant_api_comments_update or ciso_assistant_api_comments_partial_update variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance is provided. An agent cannot tell from the description alone whether to use this versus update, create, or retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_comments_retrieveApi comments retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description adds genuinely new behavioral context — that unauthorized related fields are masked — signalling partial/redacted results for the caller. It stops short of describing not-found or permission-denied behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, so there is no padding to trim. However, its brevity comes at the cost of omitting the resource itself, making it under-specified rather than genuinely efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A single-record retrieve with one undocumented parameter and no output schema needs the description to identify the resource and the identifier. The description covers only the masking behavior, leaving the core contract — what is retrieved, by what key, and what a miss returns — unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter "id" is undocumented in both schema and description. Given a low-coverage single-parameter schema, the description should state that the id is the comment identifier, but it says nothing about it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Return a single object" largely restates the "retrieve" in the name and never says which resource is being fetched — the word "comment" appears only in the tool name, not the description. Against siblings such as comments_object_retrieve, comments_list, and comments_cascade_info_retrieve, the description provides no distinguishing signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusion of alternatives, and no mention of the required id or what happens if it is unknown. An agent must infer from the name alone that this fetches one comment by identifier rather than using comments_object_retrieve or comments_list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_comments_updateApi comments updateDIdempotent
api_comments_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is known. The description adds nothing beyond that: it does not state what the body object contains, what happens to omitted fields, or what the open-world behavior implies. No contradiction with annotations, but no value added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single meaningless token, so it is short but not concise in a useful sense. There is no front-loaded statement of purpose or structure; the brevity is under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with an untyped nested payload, zero schema coverage, and no output schema requires a real description. Nothing here tells the agent what entity the id refers to, what keys the body accepts, or what a successful response looks like, so the definition is inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two parameters. The `id` field is undocumented and the `body` parameter is an untyped anyOf object with an empty schema, so the description was the only place to explain the expected structure. It provides no parameter information whatsoever, leaving the nested payload shape entirely opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal name restated: "api_comments_update" with no verb, resource explanation, or scope. An agent cannot tell from this text what is being updated (a comment body on a specific object?) or how it differs from the many sibling tools such as ciso_assistant_api_comments_partial_update or ciso_assistant_api_comments_create. This is tautology rather than definition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The sibling list contains comments_partial_update, comments_update, comments_create, comments_destroy, and comments_batch_action_create, and the description gives no cue for choosing between a full update and a partial update, or for when a create/destroy is more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_action_plan_budget_overview_listApi compliance assessments action plan budget overview listDRead-onlyIdempotent
Mixin that computes budget aggregation over an applied controls queryset.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds only a vague hint that some aggregation is computed, without saying what the response contains, whether 'id' scopes the assessment, or how pagination behaves despite limit/offset/max_pages parameters. That is thin added value for a read aggregator.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short, front-loaded sentence with no padding, so it does not waste tokens. The problem is substance rather than length: it is concise to the point of being uninformative for the calling agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter, no-output-schema endpoint, an agent needs to know what 'id' scopes, whether results are paginated, and what a 'budget overview' record looks like. None of that is present; the description explains an internal mixin instead, leaving the definition materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across six parameters, so the description must compensate and it does not. The required 'id' and the limit/offset/search/ordering/max_pages parameters are never mentioned, leaving their meaning (especially which entity 'id' refers to) entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description reads like an internal code comment ('Mixin that computes budget aggregation over an applied controls queryset') rather than a statement of what the endpoint does. It never says this is a list/overview endpoint scoped to a compliance assessment's action plan, and 'mixin' is an implementation detail an agent cannot act on. The tool's own name is more informative than the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no differentiation from the many obvious siblings (action_plan_list, action_plan_csv/pdf/xlsx, and the CRQ/risk_assessments budget_overview variants). An agent has no basis in the description for choosing this over ciso_assistant_api_compliance_assessments_action_plan_list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_action_plan_csv_retrieveApi compliance assessments action plan csv retrieveDRead-onlyIdempotent
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, yet the description says the endpoint allows assessments to be "viewed or edited", implying a write capability that the annotations deny. It adds no behavioural context of its own (no mention that the response is a CSV file payload, its content scope, or any auth/size considerations).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The sentence is short but consists entirely of disposable boilerplate; it is under-specified rather than concise. No front-loaded statement of what is returned, so brevity buys nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations about payload content, so the description is the only place the CSV return could be explained — and it is not. For a file-export endpoint, an agent cannot know what it will receive, so the definition is materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, and the description says nothing about it. It is not stated whether the id refers to the compliance assessment, the action plan, or a folder, which is exactly the kind of ambiguity the description should resolve here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint that allows compliance assessments to be viewed or edited" is generic framework boilerplate that never says the tool retrieves a CSV of an assessment's action plan. It does not mention CSV, action plan, or export anywhere, so the agent cannot distinguish it from siblings such as action_plan_list, action_plan_pdf_retrieve, or action_plan_xlsx_retrieve. Only the tool name carries the real purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus the many neighbouring action-plan endpoints (list, pdf, xlsx, budget_overview). Nothing about prerequisites, or when the CSV format is preferable to the PDF/XLSX variants. The agent must infer usage purely from the name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_action_plan_listApi compliance assessments action plan listDRead-onlyIdempotent
api_compliance_assessments_action_plan_list
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered without the description. The description contributes nothing beyond that — no mention of pagination behavior, whether the action plan is derived/computed, or what scope the id imposes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short only because it is under-specified, not because it is efficient. Nothing is front-loaded or structured; the single token duplicates the tool name and the title field.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A paginated list endpoint with a required parent id, no output schema, and no documented parameters needs real explanation, and this definition supplies none. An agent cannot tell what it returns or how to page or filter through the action plan.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Six parameters with 0% schema description coverage, including a required 'id', plus limit/offset/search/ordering/max_pages, and the description explains none of them. With the schema completely bare, the description was the only place to clarify what 'id' identifies and how search/ordering apply — it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool identifier repeated ('api_compliance_assessments_action_plan_list'), a tautology that restates the name rather than explaining the operation. The name does embed a hint of verb+resource (list the action plan of a compliance assessment), but a reader learns nothing beyond the identifier about what an 'action plan' entry is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to use this versus siblings such as the budget overview, CSV/PDF/XLSX exports, or the quantitative-risk-studies action_plan_list variant. The required 'id' argument hints it is scoped to one assessment, but the description never says so.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_action_plan_pdf_retrieveApi compliance assessments action plan pdf retrieveDRead-onlyIdempotent
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, yet the description claims the endpoint allows assessments to be 'edited', implying a write capability the retrieval route does not have. It also never discloses that the call produces a binary PDF document (and presumably requires a suitable Accept header), which is the key behavioral fact for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, so there is no bloat, but it is boilerplate that conveys no usable information rather than being front-loaded with the resource, scope, and output format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotation explaining the response, yet the description does not state that the return value is a PDF file. For a document-generation endpoint with zero parameter documentation, this leaves the agent missing what it needs to invoke and handle the result correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain that the single required 'id' is the compliance assessment identifier whose action plan is rendered. It says nothing about parameters at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST boilerplate ('allows compliance assessments to be viewed or edited') and never mentions the actual operation implied by the name: retrieving an action-plan PDF for a compliance assessment. It does not distinguish this from siblings like action_plan_csv_retrieve, action_plan_xlsx_retrieve, or action_plan_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisites, or alternatives are given. An agent cannot tell from this text whether to pick the PDF, CSV, or XLSX action-plan variant, or how this differs from the general assessment retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_action_plan_xlsx_retrieveApi compliance assessments action plan xlsx retrieveDRead-onlyIdempotent
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows assessments to be 'edited', while annotations declare readOnlyHint=true and destructiveHint=false — a direct contradiction. It also fails to disclose the only behavior that matters here: that the response is an XLSX file export rather than a JSON record.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no wasted clauses, but its brevity comes from generic boilerplate rather than economy — it conveys almost nothing an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an export endpoint with no output schema, the description should indicate that a binary XLSX payload is returned and how the id scopes it. Neither is present, and the annotations are contradicted rather than complemented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter 'id' at 0% schema coverage, and the description says nothing about what the id identifies (an assessment? an action plan item?) or what form it takes. With only a single param the gap is small but entirely unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description rephrases the title as a generic CRUD endpoint ('allows compliance assessments to be viewed or edited') and never states the actual operation: retrieving an XLSX export of the action plan. All of the tool's discriminating information (action plan, xlsx, retrieve-by-id) lives in the name/title, not the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no differentiation from the many near-identical siblings (action_plan_csv_retrieve, action_plan_pdf_retrieve, xlsx_retrieve, action_plan_list). An agent cannot tell from the text which export format or endpoint to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_analytics_retrieveApi compliance assessments analytics retrieveBRead-onlyIdempotent
Returns compliance analytics data grouped by framework and domain
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 contributes the aggregation shape (grouped by framework and domain), which is genuinely extra context, but says nothing about pagination, filters, or result scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler. It is efficient, though its brevity is partly the reason other dimensions are thin.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only source of shape information, and it only says the data is grouped by framework and domain. For an analytics/reporting tool whose return structure matters, that leaves notable gaps about which metrics are included.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema carries no semantics to compensate for and the baseline is 4. Nothing in the description misleads about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a verb and resource ("Returns compliance analytics data") and adds a grouping dimension (by framework and domain), which is more than a restatement of the name. However, against a very dense sibling set of compliance-assessment analytics endpoints (donut_data, per_status, global_score, section_compliance, controls_coverage), it does not distinguish what makes this aggregate view different from those.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this over the many other analytics retrieve endpoints, no prerequisites, and no exclusions. The agent must infer selection purely from the endpoint name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_auditee_dashboard_retrieveApi compliance assessments auditee dashboard retrieveARead-onlyIdempotent
Returns per-assignment progress data for the auditee's dashboard.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered by structured data. The description adds only the nature of the return (per-assignment progress), and says nothing about scope of data returned, role requirements, or whether results are aggregated across assessments.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though it is so terse that it also carries no routing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and permissive annotations, the description should explain the shape of 'per-assignment progress' (which fields, which assignment set, which user's scope) since nothing else does. It conveys only the gist, which is minimal but workable for a simple read endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is fully described, so there is nothing for the description to disambiguate. Baseline for a no-parameter tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Concrete verb (returns) plus a specific resource (per-assignment progress data) scoped to the auditee dashboard, so the agent knows the kind of payload produced. It does not, however, distinguish itself from close siblings such as compliance_assessments_is_auditee_retrieve, recap_retrieve, or progress_ts_retrieve, which also surface compliance-assessment progress views.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for the auditee's dashboard' implies the scenario (auditee-role dashboard views) but never states when to call this versus the many other compliance-assessment progress/recap/status endpoints. No prerequisites (e.g., auditee role) or exclusions are given, leaving selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_batch_action_createApi compliance assessments batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false. The description adds essentially no behavioral context beyond those hints: it does not say what actions are supported, what happens on partial failure, whether confirmation is required, or what permissions are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is concise. However, the brevity comes at the cost of substance: the sentence is under-specified rather than effectively front-loaded with useful detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a batch-action endpoint, the description is too thin: it does not explain what a batch action means here, what objects are targeted, or what the agent should expect. There is no output schema to rely on, and the annotations alone do not fill the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so per the rubric the baseline is 4. The description does not add parameter meaning, but there are no parameters to explain and schema coverage is 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only says 'Perform a batch action on multiple objects', which is generic and does not mention compliance assessments or the specific kind of batch action. With many sibling tools using the same '*_batch_action_create' pattern, an agent cannot tell from this description which resource is affected or what operation is performed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The phrase 'multiple objects' weakly implies bulk usage, but it does not tell the agent under what conditions this tool should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_cascade_info_retrieveApi compliance assessments cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing about what a 'cascade' result contains (dependent objects, counts, blockers) or that it is purely informational — the single word 'preview' is the only behavioral clue.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words are certainly concise, but this is under-specification rather than economy — the fragment ends in a colon as if a list should follow, which is confusing rather than front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no meaningful description; for a cascade/dependency-preview endpoint whose entire value is the shape of its return payload, nothing is communicated about what comes back or what the id refers to. The definition is not sufficient to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, 'id', with 0% schema description coverage, and the description does not say what that id identifies (presumably the compliance assessment PK) or its format. With no compensating text, the agent is left guessing the identifier type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the title restated: 'Cascade preview:' tells an agent nothing beyond the phrase already embedded in the tool name. It never states that it retrieves the set of objects that would be affected (cascaded to) by a compliance assessment, nor how that differs from sibling cascade_info_retrieve tools for other resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Cascade preview' weakly implies a pre-deletion/preview use case, but there is no explicit when-to-use, no when-not-to-use, and no reference to the far more numerous siblings (e.g. the plain retrieve, list, or object_retrieve variants) that an agent must choose between. All routing 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.
ciso_assistant_api_compliance_assessments_combined_tree_retrieveApi compliance assessments combined tree retrieveCRead-onlyIdempotent
Requirement tree with domain-tree inheritance applied as an overlay.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds one real behavioral fact — that domain-tree inheritance is applied as an overlay — but does not explain what gets inherited, whether results are computed vs stored, or any auth/pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the key concept front-loaded and no filler. It is efficient, though its terseness shades into under-specification rather than true conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the tool's concept (a combined requirement tree with inheritance overlay) is non-trivial, yet the description explains nothing about the shape of the returned tree or the overlay semantics. Given the complexity and zero parameter documentation, the definition is materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required `id` parameter is never explained. The description does not say whether `id` refers to a compliance assessment, a framework, or a requirement node, so the agent must guess the identifier's meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a resource ('Requirement tree') and a specific behavior ('domain-tree inheritance applied as an overlay'), which hints at what is returned. However, it lacks an explicit verb and never distinguishes it from the sibling `compliance_assessments_tree_retrieve`, so an agent cannot tell why this 'combined' tree differs from the plain tree.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or which sibling (e.g., `compliance_assessments_tree_retrieve` or `requirements_list_retrieve`) is the alternative. The agent is left to infer the selection criteria entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_comparable_audits_retrieveApi compliance assessments comparable audits retrieveBRead-onlyIdempotent
Get list of compliance assessments that can be compared with this one
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 little beyond that: it never explains what makes two assessments 'comparable' (same framework, perimeter, version?) or what the returned list contains, which is the one behavioral detail an agent would actually need.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler; the subject and scope are front-loaded. It is efficient, though perhaps too terse given the undefined comparability criterion.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should at minimum describe the shape or scope of the returned list, and it does not. For a simple single-parameter read it is serviceable but leaves the key question of comparability criteria unanswered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter. The phrase 'with this one' weakly signals that the id is the reference assessment against which candidates are matched, but the format and resolution rules are unstated, so the description only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: it returns a list of compliance assessments that are comparable to a given one. This distinguishes it from the sibling compare_retrieve, which performs the comparison itself rather than enumerating candidates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is strongly implied – call it with an assessment id to discover which other assessments can be compared – but the description never says so explicitly, nor does it name compare_retrieve as the natural next step or note any eligibility conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_compare_retrieveApi compliance assessments compare retrieveCRead-onlyIdempotent
Compare two compliance assessments that use the same framework
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 framework constraint but says nothing about what the comparison returns, whether missing requirements appear, or how the second assessment is resolved — meaningful gaps for a compare operation, but not severe against annotated read-only behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler. It is efficient, though the brevity edges into under-specification given the one-parameter/two-assessment mismatch it leaves unaddressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only compare endpoint with no output schema, the description should explain inputs and roughly what a comparison yields. Instead it leaves the single id unexplained and the second assessment unspecified, so an agent cannot reliably invoke it — and its closest sibling (comparable_audits_retrieve) is never mentioned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there is a single required 'id' with no type-level or description-level detail. The description does not say what this id identifies (base assessment? framework? comparable pair?) nor where the second assessment comes from, so an agent has to guess how to call it. The description actively raises a question the schema cannot answer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (compare) and resource (two compliance assessments) with a constraint (same framework), which is more than a tautology. However, it is ambiguous in practice: only a single 'id' parameter exists, so an agent cannot tell how the second assessment is identified. It also does not differentiate this tool from the sibling ciso_assistant_api_compliance_assessments_comparable_audits_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'that use the same framework' communicates a precondition for correct invocation, which is more than nothing. But there is no explicit when-to-use, no when-not-to-use, and no pointer to alternatives such as the comparable_audits or recap endpoints that an agent would want to consider first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_compliance_assessment_csv_retrieveApi compliance assessments compliance assessment csv retrieveDRead-onlyIdempotent
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows assessments to be 'viewed or edited,' while annotations declare readOnlyHint=true and destructiveHint=false; a caller could reasonably infer a write path that does not exist. It also omits everything behaviorally relevant for an export tool: that the response is CSV content, its schema, and that it is scoped to a single record id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence, but brevity here is under-specification rather than conciseness: the single sentence conveys no actionable information and is not front-loaded with the actual operation (CSV export by id).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a 0%-covered input schema, the description needed to carry the full burden of explaining the CSV return, the id semantics, and the read-only nature. It does none of that and only supplies misleading boilerplate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the single required 'id' parameter is undocumented in both the schema and the description. The description never explains that the id identifies the compliance assessment whose CSV is exported, nor its expected format (e.g., UUID).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it is an 'API endpoint that allows compliance assessments to be viewed or edited,' which restates the generic DRF boilerplate rather than naming the actual operation. Nothing states that this endpoint returns a CSV export of a single compliance assessment, and it is indistinguishable from siblings such as compliance_assessments_xlsx_retrieve, word_report_retrieve, or export_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this CSV endpoint versus the many sibling export/report endpoints (xlsx, word report, action_plan_csv, export_retrieve). No prerequisites, no mention of what the CSV contains, and no exclusion of the 'edited' interpretation the sentence hints at.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_compliance_timeline_retrieveApi compliance assessments compliance timeline retrieveBRead-onlyIdempotent
Returns compliance metrics over time from HistoricalMetric snapshots.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile: readOnly, idempotent, openWorld, and non-destructive. The description adds useful context by identifying HistoricalMetric snapshots as the data source, but it does not explain pagination, date range behavior, or what metric series are included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It efficiently says what is returned and where the data comes from.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only retrieve with one parameter and no output schema, the description is minimally adequate: it says what kind of data is returned. However, it omits the meaning of the required id and does not clarify the scope of the timeline, leaving important invocation context unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter has 0% schema description coverage, and the description never explains what the id refers to. An agent must guess whether it is a compliance assessment ID, a metric ID, or some other object identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific retrieval action and resource: compliance metrics over time, sourced from HistoricalMetric snapshots. This is clearer than the tautological title, though it does not explicitly distinguish this timeline endpoint from similar compliance-assessment analytics or progress endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus related siblings such as compliance_assessments_progress_ts_retrieve, analytics_retrieve, or risk_assessments_risk_timeline_retrieve. The agent must infer the use case from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_controls_coverage_retrieveApi compliance assessments controls coverage retrieveCRead-onlyIdempotent
Controls coverage analysis for this compliance assessment.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds only the scoping notion (coverage of controls for this assessment) and says nothing about what the coverage result contains or how it is computed, so it barely moves past 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler. It is efficient, though the terseness leaves no room for the routing context an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one param and no output schema, the minimum needed is present. But the description never explains what 'controls coverage' returns or how it relates to the sibling evidence_coverage endpoint, leaving a gap for selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single 'id' parameter. The description implies the id identifies a compliance assessment, which is a small but real clarification the schema does not provide; it does not state format or what happens on an invalid id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names the resource (controls coverage) and the parent object (this compliance assessment), implying a read of coverage data. However the phrasing is a noun phrase with no explicit verb, and it does not clearly distinguish itself from near siblings like evidence_coverage_retrieve or the other assessment-scoped retrievers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus evidence_coverage_retrieve, requirements_list_retrieve, or other coverage/analysis endpoints. An agent must infer from the name that this is the controls-specific coverage view.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_createApi compliance assessments createC
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false and non-idempotency, so the description only needs to add operational context – and it adds none. It doesn't say what is required to create an assessment (framework, perimeter, folder), whether duplicates are rejected, or what happens on success. The phrase 'viewed or edited' even gestures at read behavior on a mutation endpoint, which adds noise rather than clarity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is auto-generated boilerplate that does not earn its place – it conveys no actionable information and is not front-loaded with anything useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create endpoint with an entirely undocumented free-form body and no output schema, the description should explain the payload and the resulting object. Instead it leaves both blank, so an agent cannot reliably construct a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the single 'body' parameter is an untyped free-form object with no field enumeration. The description does not mention the payload at all, so an agent has no way to know which fields a compliance assessment requires. This is a significant gap the description should have filled.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint 'allows compliance assessments to be viewed or edited', which is generic DRF boilerplate and does not state that this tool creates a new compliance assessment. It names the resource but muddles the operation, since 'viewed' isn't something a create endpoint does. An agent must fall back on the tool name to infer the verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus ciso_assistant_api_compliance_assessments_list, _retrieve, _update, _partial_update, or _map_from_create, all of which are siblings. No prerequisites, permissions, or preconditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_cyfun_xlsx_retrieveApi compliance assessments cyfun xlsx retrieveDRead-onlyIdempotent
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows assessments to be 'viewed or edited', but annotations declare readOnlyHint=true and destructiveHint=false, and the route is a retrieve/export. For a file-export endpoint it also says nothing about the produced file, its scope, or authorization needs. The 'edited' claim directly conflicts with the read-only annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, but it is boilerplate under-specification rather than real conciseness: nothing useful is front-loaded because nothing useful is stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotation-independent detail, an undocumented id, and no hint that the response is a binary XLSX file, the description leaves the agent unable to call the tool with confidence. The distinctive CyFun/export semantics come only from the tool name, not the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single required 'id' parameter is left entirely unexplained — no indication of whether it identifies the compliance assessment, the framework, or a CyFun export configuration. The name 'id' is the only clue an agent gets.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the auto-generated route ('API endpoint that allows compliance assessments to be viewed or edited') rather than saying what this specific tool does. It never mentions CyFun or XLSX export, which are the only distinctive parts of the name, and it is indistinguishable from the many sibling compliance_assessments endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the numerous alternatives (compliance_assessments_xlsx_retrieve, action_plan_xlsx_retrieve, word_report_retrieve, csv_retrieve). No prerequisites, no mention that it is the CyFun-specific export, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_destroyApi compliance assessments destroyDDestructiveIdempotent
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, but the description frames the endpoint as a view/edit operation. That directly contradicts the disclosed behavior and omits what is actually destroyed (a whole assessment, with cascade implications) or whether deletion is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but brevity is worthless here because the sentence is inaccurate. Under-specification, not verbosity, is the problem: the one sentence present would need to be replaced rather than trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive one-parameter endpoint with no output schema, the description should confirm the delete semantics and warn about irreversibility. Instead it describes viewing/editing, leaving an agent without the one fact that matters before invoking a destroy call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the description carries the burden of explaining it — but it adds nothing about what the id identifies. The only inference available is that it targets a compliance assessment, which the tool name already conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (compliance assessments) but describes the operation as 'viewed or edited', which is wrong for a destroy endpoint. The tool name and annotations both indicate deletion, so an agent reading only the description would form an incorrect mental model of what the call does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites or alternatives, and nothing to distinguish this from the sibling compliance assessment CRUD tools. Worse, the implied usage ('view or edit') points the agent at the wrong operation entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_donut_data_retrieveApi compliance assessments donut data retrieveDRead-onlyIdempotent
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says compliance assessments can be 'viewed or edited', but annotations declare readOnlyHint=true and destructiveHint=false. This is an annotation contradiction: an agent may infer a write capability that the tool does not have. The read-only, idempotent nature of the donut-data endpoint is not correctly disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is only one sentence, but the sentence is generic and misleading rather than informative. Brevity does not help because the content does not accurately describe the endpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and an undocumented required id, the description should explain what donut data is returned and how the id is used. Instead it gives a generic and contradictory view/edit statement that leaves an agent unable to call the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required 'id' parameter has 0% schema description coverage, and the description adds no information about what the id identifies or its expected format. Because coverage is low, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only says it is an API endpoint that allows compliance assessments to be 'viewed or edited', which restates the resource without identifying the specific 'donut data' retrieval behavior encoded in the tool name. It does not distinguish this tool from the many sibling compliance-assessment retrieval endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus alternatives such as compliance_assessments_retrieve, compliance_assessments_list, or other chart-data endpoints. The mention of 'viewed or edited' actively blurs whether this is a read-only retrieval operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_evidence_coverage_retrieveApi compliance assessments evidence coverage retrieveCRead-onlyIdempotent
Evidence coverage analysis — direct (on RA) and indirect (via applied controls).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, open-world, and non-destructive behavior. The description adds useful domain context by explaining that coverage is computed directly on RA and indirectly through applied controls, but it does not describe return format, pagination, or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is one front-loaded sentence with no wasted text, and the direct/indirect contrast is well-structured. The unexplained abbreviation 'RA' slightly reduces clarity but does not waste space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve endpoint with no output schema and an undocumented id parameter, the description is too sparse to fully equip an agent. It explains the conceptual coverage split but omits what the id identifies and what the response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, and the description does not mention what the id refers to (presumably a compliance assessment). With low schema coverage, the description should compensate but instead leaves parameter meaning to inference from the tool name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific analysis ('Evidence coverage analysis') and distinguishes two coverage paths: direct on RA and indirect via applied controls. It is clear enough to separate from a generic evidence list or controls-coverage tool, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as controls_coverage_retrieve or evidences_list_list. The only usage information is implicit in the phrase 'Evidence coverage analysis'; no preconditions or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_evidences_list_listApi compliance assessments evidences list listDRead-onlyIdempotent
api_compliance_assessments_evidences_list_list
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
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, but the description contributes zero additional behavioral context. It does not explain that results are scoped to a parent assessment id, how pagination behaves, or what the returned records contain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity reflects under-specification rather than efficiency. The single string provides no front-loaded statement of purpose or scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter, paginated list endpoint with no output schema and no parameter documentation, the description is entirely inadequate. An agent has no information on scope, filtering, or return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All six parameters (id, limit, offset, search, ordering, max_pages) have 0% schema description coverage and permissive null-union types, and the description supplies no meaning for any of them. Nothing explains that id is the parent compliance assessment identifier or what ordering accepts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is verbatim the tool name repeated, which is pure tautology. The name itself implies listing evidence records associated with compliance assessments, but the description adds no verb, resource scope, or differentiation from siblings such as compliance_assessments_evidence_coverage_retrieve or evidences_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling to prefer. An agent choosing among evidences_list, evidence_revisions_list, and the compliance-assessment-specific evidence endpoints is given nothing to disambiguate them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_exceptions_summary_retrieveApi compliance assessments exceptions summary retrieveBRead-onlyIdempotent
Security exceptions summary for this compliance assessment.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, and open-world behavior, so the safety profile is covered. The description adds only that this is a summary scoped to a compliance assessment; it does not explain aggregation behavior, permissions, or failure modes. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single front-loaded phrase with no filler, so it is efficient. Its terseness contributes to gaps that are penalized in other dimensions rather than here.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should clarify what the 'summary' contains, such as counts by status or severity. It also leaves the referent of 'id' only implicit, which is too little context for a summary-reporting endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter is an undocumented 'id' at 0% schema description coverage. The phrase 'this compliance assessment' implies the id identifies an assessment, but the description never names the parameter or gives format details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('Security exceptions summary') and scopes it to 'this compliance assessment,' so an agent can tell what is returned. It does not explicitly contrast with sibling endpoints such as security_exceptions_list, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use, when-not, or alternative guidance. The assessment scope implies context, but the agent must infer when this summary should be preferred over the broader security exceptions endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_export_retrieveApi compliance assessments export retrieveDRead-onlyIdempotent
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, yet the description says the endpoint allows assessments 'to be viewed or edited' — implying a write capability the annotations explicitly deny. The description also withholds what the export actually produces (serialized file? JSON export payload?), which is the one behavioral fact an agent needs here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is not verbose, but the content is generic boilerplate rather than a front-loaded statement of what the tool does. Brevity here reflects low information, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, an undocumented 0%-coverage id parameter, and no explanation of export behavior or the returned payload, the definition leaves too much open for a tool that presumably serializes a compliance assessment. The annotations cover the safety profile but nothing else.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, so the description must carry the burden and says nothing about it — not whether it is a UUID, a ref_id, or a numeric key. The bare parameter name is the only clue available to the caller.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name at a generic level: 'allows compliance assessments to be viewed or edited.' It never mentions the 'export' function that distinguishes this endpoint, nor does it separate it from siblings such as compliance_assessments_retrieve, _object_retrieve, _list, or _cascade_info_retrieve. An agent cannot tell what is actually returned here beyond 'some compliance assessment data.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives, despite a dense cluster of sibling compliance-assessment read endpoints. The boilerplate 'viewed or edited' gives no condition under which an agent should pick this over the plain retrieve or object_retrieve variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_frameworks_retrieveApi compliance assessments frameworks retrieveDRead-onlyIdempotent
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, yet the description states the endpoint 'allows compliance assessments to be viewed or edited', implying a write capability that the annotations explicitly deny. It adds no genuine behavioral context (response shape, whether the id is a framework or assessment, permissions) beyond the boilerplate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence with no padding, so it is not verbose, but its brevity comes from being generic template text rather than from front-loading useful information. Length is fine; content density is not.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read endpoint with no output schema and full safety annotations, the description needs to at least identify the resource semantics and return shape. It supplies neither, leaving the agent unable to distinguish this from other *_retrieve siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single required 'id' is completely unannotated; the description never says whether it identifies a compliance assessment, a framework, or a nested framework-of-assessment record. That ambiguity is the single most important thing this description should have resolved.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence is DRF boilerplate that restates 'compliance assessments' without saying what the 'frameworks' relationship is or what is actually retrieved. With siblings like ciso_assistant_api_compliance_assessments_retrieve and ciso_assistant_api_frameworks_retrieve, an agent cannot tell from this text which resource is being fetched or why this endpoint exists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call it, what preconditions apply, or how it differs from the many overlapping compliance-assessment and framework read endpoints. The 'viewed or edited' phrasing may even push an agent toward using it as a mutation route.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_global_score_retrieveApi compliance assessments global score retrieveBRead-onlyIdempotent
Returns the global score of the compliance assessment
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 no behavioral context beyond the name — it doesn't say what the score represents (percentage? weighted?), whether it is computed on the fly, or what happens when the assessment has no scored requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. It is efficient, though arguably terse to the point of under-specification given the 0% schema coverage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of describing the return value, yet it only says 'the global score' without indicating shape (bare number vs. object with score/total fields). For an otherwise simple read-only single-parameter tool this is adequate but leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'id' parameter is undocumented in the schema. The phrase 'of the compliance assessment' implies the id identifies an assessment, which is the only semantic hint provided; type, format and whether it's a numeric PK or UUID are left unstated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: returns the global score of a compliance assessment. An agent can distinguish it from data-oriented siblings like donut_data_retrieve or section_compliance_retrieve, though the description never names those alternatives explicitly. The scope (one aggregate score for one assessment) is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: if you want the aggregate score for an assessment, call this with its id. There is no statement of when to prefer it over compliance_assessments_retrieve, score_calculation_method_retrieve, or per_status_retrieve, and no preconditions (e.g. assessment must have completed requirements) are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_implementation_groups_breakdown_retrieveApi compliance assessments implementation groups breakdown retrieveCRead-onlyIdempotent
Breakdown of compliance results by implementation group.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds little beyond saying it is a breakdown, and it does not describe the response shape, grouping semantics, or any access constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler or redundant clauses. It is concise, though the terseness contributes to the missing parameter and usage information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve endpoint with a required id and no output schema, the description should at least clarify what id identifies and what the breakdown contains. It only gives a high-level label, leaving key selection and invocation details for the agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter, id, with 0% description coverage, and the description never mentions it. An agent cannot tell from the description whether id is the compliance assessment id or what format is expected, so the description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the returned data as a breakdown of compliance results by implementation group, so the basic purpose is inferable. However, it largely restates the title/name and does not distinguish this endpoint from the many other compliance-assessment retrieve and breakdown siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when to use a sibling such as global score, section compliance, or controls coverage, or what prerequisites apply. The only implicit cue is the phrase 'implementation groups breakdown.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_is_auditee_retrieveApi compliance assessments is auditee retrieveARead-onlyIdempotent
Returns whether the current user is an auditee for this compliance assessment.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, covering the safety profile. The description adds one genuinely useful behavioral fact beyond annotations: the result is scoped to the *current* user rather than any arbitrary user, which explains why there is no user parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the return semantics and with zero filler. It is appropriately sized for a single-purpose boolean endpoint, though it could name the parameter explicitly at no real cost.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool returning a boolean, the description is nearly sufficient: 'Returns whether' signals the boolean return, and the current-user scoping answers the obvious question about whose status is being checked. No output schema exists, so the only real omission is the id's format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the single 'id' parameter is undocumented in the schema. The description partially compensates by framing it as 'for this compliance assessment', implying it is the assessment identifier, but it never states the format or whether it is a numeric ref or UUID.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Returns whether') plus the exact predicate and scope: current user's auditee status for a given compliance assessment. This is clearly separable from siblings like compliance_assessments_auditee_dashboard_retrieve or _retrieve, which return data rather than a per-user boolean.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus the many other compliance-assessment retrieval endpoints, and no mention of prerequisites (auth context, need for the assessment id to exist). The use case is inferable from the wording but never stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_listApi compliance assessments listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| limit | No | ||
| assets | No | ||
| folder | No | ||
| offset | No | ||
| ref_id | No | ||
| search | No | ||
| status | No | ||
| authors | No | ||
| campaign | No | ||
| ordering | No | ||
| evidences | No | ||
| framework | No | ||
| max_pages | No | ||
| perimeter | No | ||
| reviewers | No | ||
| ebios_rm_studies | No | ||
| genericcollection | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already supply readOnlyHint, idempotentHint, non-destructive and openWorld. The description adds nothing actionable: it does not mention that results are paginated (limit/offset/max_pages are present in the schema), what filtering dimensions exist, or what the 'optimized data' means for the caller. 'Override the list method' is backend jargon with no behavioral value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is spent on an implementation detail that does not help an agent act. Brevity here reflects under-specification rather than economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 19 undocumented parameters, no output schema, and no pagination or filtering guidance, the description leaves essentially everything an agent needs unresolved. The annotations cover only the safety profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 19 parameters, and the description offers no explanation of name, search, status, framework, perimeter, reviewers, ordering, limit/offset, or max_pages. An agent has no way to know which filters are supported or what value formats they accept from either source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Override the list method to inject optimized data into the serializer context' is an internal implementation note, not a statement of what the tool does for a caller. Only the tool name signals that it lists compliance assessments; the description never says so, nor does it distinguish this from sibling list/retrieve endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this instead of ciso_assistant_api_compliance_assessments_retrieve, _object_retrieve, or the many specialized assessment endpoints (analytics, tree, per_status). The only implicit cue is the word 'list', which the name already provides.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_mailing_createApi compliance assessments mailing createD
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a write operation that is non-idempotent, open-world, and non-destructive, but the description adds no mailing-specific behavior: whether emails are sent, to whom, whether the action is repeatable, or what side effects occur. 'Viewed or edited' is also a poor fit for a create/mailing endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only one sentence, but it is generic boilerplate that fails to front-load the actual action. Brevity does not compensate for its lack of useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write action with an undocumented required parameter, no output schema, and open-world non-idempotent behavior, the description is far too incomplete. It omits the mailing operation, the meaning of 'id', side effects, and expected outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required 'id' parameter is not mentioned in the description at all. The description does not explain whether 'id' identifies a compliance assessment, a mailing, or some other resource.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (compliance assessments) but describes a generic view/edit endpoint rather than the mailing-create action implied by the tool name. It does not state what is actually created or mailed, so an agent cannot confidently distinguish this from the many sibling compliance-assessment tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what preconditions apply, or how it differs from siblings such as compliance_assessments_create or other mailing-related actions. The description only supplies vague CRUD language.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_map_from_createApi compliance assessments map from createC
Map data from a source audit into this one.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a non-readOnly, non-destructive, non-idempotent, open-world mutation. The description adds only that data is mapped from a source audit into the current one, without explaining what data is copied, whether existing data is overwritten, or what permissions/preconditions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no wasted text. However, "this one" is an unclear antecedent that reduces precision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an ambiguous single parameter and no output schema, the description should explain the mapping operation, prerequisites, and effect on existing data. It provides only a high-level sentence that leaves core behavior unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the sole parameter is just `id` with no description. The prose mentions a "source audit" but does not clarify whether `id` identifies the source audit, the target assessment, or some other object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action, mapping data from a source audit into "this one," but it does not identify the resource as a compliance assessment and leaves the target ambiguous. It also does not distinguish this tool from the sibling map-from-preview retrieval tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool, when not to use it, or whether a preview step should happen first. The agent is left to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_map_from_preview_retrieveApi compliance assessments map from preview retrieveBRead-onlyIdempotent
Preview the effect of mapping data from a source audit into this one.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 result is a simulated effect of a mapping operation, but says nothing about what the preview returns or how the source audit is supplied, which is a meaningful gap for a preview operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with no waste, front-loading the preview intent. It is efficient though underspecified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, one undocumented parameter, and 0% schema coverage, the description should explain what 'id' refers to and what the preview contains. It does neither, leaving an agent unable to call it reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter is named only 'id'. The description does not clarify whether this id identifies the target assessment, the source audit, or the mapping source — a critical ambiguity the description should resolve but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (preview) plus resource (mapping data from a source audit into this one), which distinguishes it from the sibling map_from_create that presumably applies the mapping. The purpose is clear, though the mechanism for identifying the source audit is left unexplained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Preview the effect' implies a dry-run before applying, which hints at when to use it versus map_from_create, but that alternative is never named explicitly. 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.
ciso_assistant_api_compliance_assessments_object_retrieveApi compliance assessments object retrieveCRead-onlyIdempotent
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, but the description says the endpoint allows compliance assessments to be 'edited', directly contradicting the read-only safety profile. This is a serious inconsistency that could cause an agent to attempt or expect mutation behavior from a retrieve endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no wasted text. However, it is under-specified rather than effectively front-loaded, since the key operation and scope are not clarified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve-by-ID tool, the definition should at least clarify that it returns a single compliance assessment object. Instead it is ambiguous about viewing versus editing and omits any return-value context, though annotations do cover safety traits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter, 'id', with 0% description coverage, and the description adds no meaning about what the ID represents or how it should be supplied. 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('compliance assessments') but gives only a vague operation ('viewed or edited'), which does not make clear that this tool retrieves a single object by ID. It also does not distinguish this tool from sibling retrieve/list/update tools for the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as ciso_assistant_api_compliance_assessments_retrieve, ciso_assistant_api_compliance_assessments_list, or update operations. The only usage framing is the vague 'viewed or edited' phrase, which is insufficient for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_partial_updateApi compliance assessments partial updateD
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true. The description adds little beyond 'viewed or edited', and does not explain partial-update semantics such as only supplied fields being changed, nor the required ID and request body behavior. It does not directly contradict annotations, but 'viewed' is misleading for a mutation endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and has no filler, but it is not front-loaded with the actual operation. The leading phrase 'API endpoint' is generic and the sentence does not prioritize the partial-update behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an arbitrary request body, 0% schema description coverage, and no output schema, the description is insufficient. It omits the partial-update contract, the role of the required ID, and what can be supplied in the body, leaving the agent unable to 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.
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 the two parameters. It does not explain that 'id' identifies the compliance assessment or that 'body' contains the fields to partially update.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('compliance assessments') but gives a vague, non-specific operation ('viewed or edited'). It does not identify the tool as a partial update or distinguish it from sibling tools like compliance_assessments_update, retrieve, or list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The agent is not told that this is the PATCH-style partial update endpoint or when to prefer it over the full update endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_per_status_retrieveApi compliance assessments per status retrieveCRead-onlyIdempotent
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the resource can be 'viewed or edited', which contradicts the annotations' readOnlyHint=true. With no annotations-based gap to fill here (safety profile is fully declared), the description instead introduces a claim of writability that the annotations deny. It also discloses nothing about the aggregation semantics the endpoint name implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so structurally it is front-loaded and waste-free. However, the brevity comes from generic DRF boilerplate rather than from compression of real information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotation-driven safety gaps, the description carries the full burden of explaining what this endpoint actually returns. It fails: nothing indicates that the response is a status breakdown rather than a plain object or list, leaving the agent unable to predict the result shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the input schema is empty, so there is nothing for the description to document. Per the baseline rule for parameterless tools, a 4 is appropriate; no parameter information is missing or wrong.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title almost verbatim ('compliance assessments ... viewed or edited') without explaining the distinguishing element of the endpoint: the 'per_status' grouping. It never says whether this returns counts aggregated by status or a filtered list. An agent cannot tell it apart from siblings such as compliance_assessments_status_retrieve or compliance_assessments_list based on this text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when this endpoint should be chosen over the dozens of sibling compliance-assessment endpoints (list, retrieve, status_retrieve, global_score_retrieve, analytics_retrieve). No prerequisites, no mention of what identifiers or filters are implied by 'per status'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_progress_ts_retrieveApi compliance assessments progress ts retrieveDRead-onlyIdempotent
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, but the description says the endpoint allows compliance assessments to be 'edited,' which contradicts the read-only contract. No additional behavioral context such as auth needs or response behavior is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single brief sentence with no wasted structure, but the sentence is generic boilerplate. It is concise and front-loaded, though it carries very little useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter retrieve tool, the description should at least clarify the progress_ts resource and the id argument. With no output schema, it also leaves the return shape implicit, making the definition too thin to guide correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole required parameter 'id' has 0% schema description coverage, and the description never clarifies what kind of ID is expected or what object it references. No semantic value is added beyond the raw string type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the broad resource (compliance assessments) but never explains the 'progress_ts' scope of this endpoint. It says assessments can be 'viewed or edited' instead of stating a specific retrieve operation, so it does not distinguish this tool from the many sibling compliance-assessments retrieval tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, prerequisites, or alternative routing is provided. The vague 'viewed or edited' phrase does not help an agent choose this tool over the numerous sibling compliance-assessment endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_quality_check_retrieveApi compliance assessments quality check retrieveCRead-onlyIdempotent
Returns the quality check of every compliance assessment
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds only the scope word "every", which signals no filtering, but says nothing about the response shape, size, or cost of a bulk quality-check read. With annotations carrying the behavioral burden, a 3 is the right level.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, and the scope qualifier is front-loaded. It is efficient, though the terseness borders on under-specification for a domain term like "quality check".
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the full burden of explaining what a "quality check" returns, and it does not — the agent gets no idea of the result's fields or structure. It also leaves the ambiguity with the duplicate _retrieve_2 sibling unresolved, which matters for tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is fully described, so there are no parameter semantics for the description to compensate for. The description's "every" is consistent with the parameterless schema. Baseline 4 applies for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states a verb ("Returns") and a resource ("the quality check of every compliance assessment"), but "quality check" is never defined, so the agent cannot tell what the result actually represents. It also fails to distinguish this tool from the near-identical sibling ciso_assistant_api_compliance_assessments_quality_check_retrieve_2, which is indistinguishable from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites, and no mention of alternatives — including the direct duplicate sibling ending in _retrieve_2. "Every compliance assessment" implies an unfiltered bulk read, but that is inferred from the empty schema, not stated as a usage rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_quality_check_retrieve_2Api compliance assessments quality check retrieve 2CRead-onlyIdempotent
Returns the quality check of a specific assessment
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 adds nothing on the safety profile. It does not say what a "quality check" contains, what happens if the id does not exist or the check is not computable, or whether the result is cached or computed on demand.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with zero filler and no repetition. It is efficient, though its brevity is a symptom of underspecification rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and an undocumented parameter, the description carries the burden of explaining the return shape of a quality check and the distinction from the duplicate sibling endpoint. It does neither, so the agent cannot safely choose between the two quality-check tools or anticipate the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single required parameter "id", but the description does implicitly establish that the id identifies a specific compliance assessment (not an arbitrary object). It gives no format guidance (UUID vs. ref_id) or example, so it only marginally compensates for the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ("Returns") and resource ("the quality check of a specific assessment"), so an agent knows it is a read of a derived quality-check payload rather than the assessment itself. It does not, however, differentiate from the near-identical sibling ciso_assistant_api_compliance_assessments_quality_check_retrieve (no "_2"), leaving the duplicate pairing unresolved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus the plain retrieve, the non-_2 quality_check variant, or the other quality-check endpoints (folders, perimeters, risk_assessments). No prerequisites, no indication of who may read this. Usage must be inferred entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_recap_retrieveApi compliance assessments recap retrieveCRead-onlyIdempotent
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows assessments to be 'viewed or edited', but annotations declare readOnlyHint=true and destructiveHint=false, and the endpoint name ends in 'retrieve'. That 'edited' capability directly contradicts the structured safety profile and could lead an agent to expect write behavior that does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so it is concise, but its brevity stems from under-specification rather than economy — the one clause it spends is on a misleading 'edited' claim instead of the resource's actual content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only channel for explaining what a 'recap' payload contains (presumably a summarized compliance status), and it says nothing about return shape, filters, or scope. For a zero-arg, zero-output-schema read endpoint in a very dense sibling namespace, this leaves the agent unable to judge when the result is useful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; schema coverage is 100% and additionalProperties is false. Baseline 4 applies since no parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title's generic viewset boilerplate ('allows compliance assessments to be viewed or edited') rather than saying what the 'recap' endpoint actually returns or how it differs from the dozens of sibling compliance-assessments endpoints (list, retrieve, object_retrieve, tree, analytics). An agent learns nothing about the resource beyond the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this instead of ciso_assistant_api_compliance_assessments_retrieve, _list, _object_retrieve, or the many recap-adjacent analytics endpoints. The agent must infer selection purely from the name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_requirements_list_retrieveApi compliance assessments requirements list retrieveCRead-onlyIdempotent
Returns the list of requirement assessments for the different audit modes
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 almost nothing beyond that: 'different audit modes' implies a filtering/mode dimension without explaining it, and it discloses nothing about ordering, pagination or payload shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, so there is no bloat, but it is under-specified rather than concise; the vague 'audit modes' clause occupies space without conveying actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameter description, and an opaque 'id', the description does not give an agent enough to call this correctly or interpret the result. It should at minimum identify the parent resource the id belongs to and what the list contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the sole required parameter 'id' is unexplained. The description never states what the id refers to (presumably a compliance assessment id) or how it relates to the returned requirement assessments, leaving a significant semantic gap the schema cannot fill.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a verb and resource ('Returns the list of requirement assessments'), which is clearer than the tautological title, but the qualifier 'for the different audit modes' is ambiguous and does not clarify what entity the list is scoped to. An agent still cannot distinguish this confidently from siblings like requirement_assignments_requirements_list_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus alternatives (e.g. requirement_assessments_list or requirement_assessments_per_status_retrieve), nor any preconditions. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_retrieveApi compliance assessments retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint. The description adds a non-annotation detail that unauthorized related fields are masked, which is useful, but it omits authentication requirements, not-found behavior, and whether masking depends on the caller's permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one front-loaded sentence with no filler. It is concise, though its brevity contributes to under-specification rather than being efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain the returned object's shape, but it only notes masked related fields. For a retrieve endpoint with an undocumented ID parameter, the agent lacks field-level, error, and return-value details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' string parameter, so the description must compensate. It says nothing about what the ID identifies, expected format, or whether it is a compliance assessment ID.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Return a single object', without naming the compliance assessment resource. The tool name and title imply the resource, but the description itself is vague and does not distinguish this retrieve from siblings such as compliance_assessments_list or compliance_assessments_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus alternatives like the list, object_retrieve, or recap_retrieve endpoints. No prerequisites, conditions, 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.
ciso_assistant_api_compliance_assessments_score_calculation_method_retrieveApi compliance assessments score calculation method retrieveCRead-onlyIdempotent
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, but the description says the endpoint allows compliance assessments to be 'viewed or edited', which implies write capability. This directly contradicts the read-only annotation and provides no useful behavioral context such as auth requirements or response characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, so it is concise and front-loaded, but it spends its only sentence on generic boilerplate rather than the specific score-calculation-method behavior. It is efficiently sized but not informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite annotations covering read-only behavior and no parameters or output schema, the description does not explain what 'score calculation method' means in this endpoint or what an agent would receive. Combined with the contradictory 'edited' wording, it is not complete enough for reliable selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter semantics burden and the baseline is 4. The description does not need to explain parameters here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the generic endpoint pattern ('API endpoint that allows compliance assessments to be viewed or edited') without stating the specific purpose implied by the tool name: retrieving the score calculation method for compliance assessments. It names a resource but does not say what the tool actually does with it, so it is closer to tautology than a meaningful purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or which sibling to choose instead. With hundreds of compliance-assessment sibling tools, an agent has no routing information from this description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_section_compliance_retrieveApi compliance assessments section compliance retrieveCRead-onlyIdempotent
Aggregates compliance results and scores per top-level requirement group.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds genuine behavioral context by saying the response is an aggregation of results and scores per top-level group, but it omits any auth/permission or scoping caveats typical of an openWorld read endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. It is terse rather than bloated, so it fails on completeness rather than verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description is the only place to learn the return shape, and it does not describe the structure of the aggregation (per-group objects, score fields, nesting). Combined with the unexplained id and no sibling routing, an agent lacks enough to call this confidently instead of a neighboring endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter, 'id', with 0% schema description coverage, and the description never mentions it or says what entity it identifies (assessment? requirement group?). The description does not compensate for the schema gap as low-coverage cases require.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states an outcome (aggregated compliance results and scores grouped by top-level requirement) but never names the resource being retrieved or that it is scoped to a single compliance assessment. The name mentions 'section compliance', which the sentence loosely echoes, but it is not distinguishable from siblings like compliance_assessments_global_score_retrieve or compliance_assessments_requirements_list_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many other compliance-assessment score/aggregation endpoints (global_score, donut_data, implementation_groups_breakdown, requirements_list). Usage must be inferred entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_soa_retrieveApi compliance assessments soa retrieveCRead-onlyIdempotent
Returns the requirement tree enriched with applied controls and
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds genuine content information by stating the result is a requirement tree 'enriched with applied controls,' but the sentence truncates before saying what else it enriches with, leaving the payload description incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but it is not concise — it is unfinished, ending on a dangling conjunction. A truncated sentence is under-specification rather than economy of words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must carry the return-shape burden, and it only partially does before breaking off. Combined with an undocumented required id, an agent lacks what it needs to call this endpoint confidently given the many near-identical tree retrieval siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, so the schema provides no meaning. The description never mentions the parameter, so it is ambiguous whether the id refers to the compliance assessment, a requirement node, or a SoA record — a distinction that materially affects the call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a verb and resource ("Returns the requirement tree enriched with applied controls"), which conveys the general shape of the output. However, it is cut off mid-sentence at "and," so the stated purpose is incomplete, and nothing distinguishes it from closely related siblings such as compliance_assessments_tree_retrieve, combined_tree_retrieve, or requirements_list_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given, and no alternative endpoint is named. With a large family of overlapping tree/requirement retrieval siblings, the agent has no basis for choosing this one over compliance_assessments_tree_retrieve or combined_tree_retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_status_retrieveApi compliance assessments status retrieveCRead-onlyIdempotent
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, but the description says compliance assessments can be 'viewed or edited', directly contradicting the read-only annotation. It also adds no useful behavioral context such as what status data is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence, but the sentence is boilerplate and misleading rather than front-loaded with the retrieval purpose. Brevity does not compensate for under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Because there is no output schema, the description should explain what status information is returned or how it is used, but it gives no return-value context. For a status lookup endpoint, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema description coverage is 100% on the empty schema, so there is nothing for the description to document. Baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF-style boilerplate ('API endpoint that allows...') and never mentions 'status', so it does not distinguish this status-retrieval endpoint from siblings like compliance_assessments_retrieve or compliance_assessments_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many compliance assessment siblings, nor any alternative, exclusion, or prerequisite. The agent is left to infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_suggestions_applied_controls_createApi compliance assessments suggestions applied controls createD
api_compliance_assessments_suggestions_applied_controls_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is at least structured. The description adds nothing beyond that — it does not say what entity is created, whether it requires an existing suggestion, whether a repeated call duplicates data (important given idempotentHint=false), or what side effects occur. For a non-idempotent creation with an open-world hint, this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but shortness here reflects under-specification rather than concision; the one line carries no information beyond the tool name. Nothing is front-loaded because nothing informative exists to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent create endpoint with an undocumented required identifier and no output schema, the description should at minimum identify what is being created and what 'id' targets. None of that is present, so an agent cannot invoke the tool correctly from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is completely unlabeled in both schema and description. The agent cannot tell whether 'id' refers to the compliance assessment, the requirement assessment, or the suggestion itself — an ambiguity that would likely produce a wrong call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the identifier string repeated verbatim ('api_compliance_assessments_suggestions_applied_controls_create'), which is a tautology rather than a statement of what the tool does. It gives no verb-plus-resource explanation in human terms and does not distinguish this create from the similarly named sibling ciso_assistant_api_compliance_assessments_suggestions_applied_controls_retrieve or from ciso_assistant_api_requirement_assessments_suggestions_applied_controls_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling to prefer. The agent must infer from a snake_case path fragment that this applies a suggested control to a compliance assessment, and nothing indicates prerequisites or the difference from the requirement-assessment variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_suggestions_applied_controls_retrieveApi compliance assessments suggestions applied controls retrieveDRead-onlyIdempotent
api_compliance_assessments_suggestions_applied_controls_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and non-destructive behavior, so the safety profile is known. The description adds no context about what the suggestion list contains, whether it is computed on the fly, or any access constraints, leaving behavior disclosure entirely to annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but it is an identifier duplicate rather than a concise explanation. There is no front-loaded purpose or structure, so its brevity reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, one undocumented parameter, and no annotation additions, the description is far too sparse for an agent to invoke the tool correctly beyond guessing that `id` identifies a parent assessment.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole required parameter `id` has 0% schema description coverage, and the description does not explain whose ID it is (compliance assessment, requirement assessment, or suggestion). This is precisely the case where the description must compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw snake_case tool name repeated verbatim. It provides no human-readable statement of what the tool returns (suggested applied controls for a compliance assessment) and does not distinguish it from nearby sibling routes such as requirement_assessments_suggestions_applied_controls_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this endpoint, what prerequisite IDs are needed, or how it differs from the sibling create and requirement-assessment suggestion endpoints. The agent must infer usage entirely from the route string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_sync_to_actions_createApi compliance assessments sync to actions createD
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true; the description adds nothing about what the sync creates, whether repeated calls duplicate actions, or what permissions are required. Worse, 'viewed or edited' implies read/lookup semantics on a POST create endpoint, muddying rather than clarifying the mutation behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is boilerplate that conveys no actionable information; brevity here reflects under-specification rather than efficient front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent mutation with an undocumented id parameter, no output schema, and many near-identical siblings, the description supplies none of the information an agent needs to call it safely or correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, 'id' (string), with 0% schema description coverage and no explanation in the description. For a sync operation it is unclear whether this id identifies the compliance assessment, a requirement, or an action target — the description does not compensate at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST boilerplate ('allows compliance assessments to be viewed or edited') that restates the resource but not the action. It never mentions the 'sync to actions' behavior implied by the tool name, so an agent cannot tell what the call actually does or distinguish it from the sync_to_actions_retrieve sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisites, or alternatives are given. The description does not point to the sibling sync_to_actions_retrieve (preview endpoint) or to the analogous risk_assessments/risk_scenarios sync_to_actions tools, leaving selection entirely to inference from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_sync_to_actions_retrieveApi compliance assessments sync to actions retrieveDRead-onlyIdempotent
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, yet the description states the endpoint allows assessments to be 'viewed or edited', implying a write capability. Because the description contradicts the structured safety metadata rather than supplementing it, it fails to add trustworthy behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but the sole sentence is low-value boilerplate that fails to front-load any actionable information. Brevity without substance does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve endpoint with no output schema, the description should at least explain what is returned or how it relates to syncing assessments to actions. Instead it gives a generic view/edit statement and omits the one behavior that differentiates the tool from its many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes a single required 'id' parameter with 0% schema description coverage, and the description does not clarify what the ID refers to (a compliance assessment, an action, a UUID format, etc.). With one undocumented parameter and no compensating text, the schema does not carry the meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('compliance assessments') but the verb is the vague boilerplate 'viewed or edited', and it never mentions the distinguishing 'sync to actions' behavior embedded in the tool name. Among dozens of compliance-assessment siblings, an agent cannot tell what this endpoint uniquely does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no comparison to the closely named sibling ciso_assistant_api_compliance_assessments_sync_to_actions_create or the general retrieve endpoints. The agent is left to infer selection criteria entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_threats_metrics_retrieveApi compliance assessments threats metrics retrieveDRead-onlyIdempotent
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows assessments to be 'viewed or edited', implying write capability, while annotations declare readOnlyHint=true and destructiveHint=false. That is a direct contradiction, and the description adds no genuine behavioral context (what metrics are returned, auth, scoping) 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler, but it is boilerplate that carries essentially no information. It is concise at the cost of being uninformative rather than tight and useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations about return content and a 0%-documented parameter, the description had to explain what 'threats metrics' for an assessment look like and how the id is used. It says nothing about either, leaving the agent with only the tool name to work from.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter. The description only weakly implies that the id identifies a compliance assessment; it never says whether it is the assessment UUID, nor what the id is scoped to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is boilerplate ('API endpoint that allows compliance assessments to be viewed or edited') that restates the resource without stating what the tool actually does. It never mentions 'threats' or 'metrics', which the name says is the payload, and 'viewed or edited' blurs the operation instead of pinning it to a read of threats metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the large set of siblings (compliance_assessments_retrieve, threats_list, compliance_assessments_global_score_retrieve, etc.). No preconditions, no exclusions; an agent can only infer usage from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_tree_retrieveApi compliance assessments tree retrieveDRead-onlyIdempotent
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows assessments to be 'viewed or edited', which conflicts with the declared readOnlyHint=true and the 'retrieve' name. It also adds nothing beyond the annotations—no indication of what the tree response contains, whether children are nested lazily, or any depth/permission behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no bloat, but every word is generic boilerplate that fails to front-load the one piece of information an agent needs (that this returns a hierarchy keyed by id). Brevity here comes from under-specification rather than economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no meaningful annotations about return content, the description carries the full burden of explaining what a 'tree' response is and how the id scopes it—and it delivers none of that. For an endpoint in a namespace with dozens of near-identical names, this is insufficient to select or call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has one required 'id' parameter with 0% schema description coverage, and the description never mentions it—not what entity the id refers to (a compliance assessment? a folder?), nor its format (the schema only says string). The description does nothing to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name/title in generic terms ('allows compliance assessments to be viewed or edited') without ever mentioning the 'tree' aspect that distinguishes this endpoint from the many sibling compliance-assessment tools (list, retrieve, object_retrieve, combined_tree_retrieve). An agent cannot tell what makes this a tree view or how it differs from ciso_assistant_api_compliance_assessments_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus alternatives: no mention of when the tree view is preferable to the list or plain retrieve endpoints, no prerequisites, no exclusions. The 'viewed or edited' phrasing actively muddies when/how to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_updateApi compliance assessments updateCIdempotent
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, idempotentHint=true, destructiveHint=false), so the description needed to add what they cannot: that this is a full-replacement update of the assessment body, what fields are expected, and what permissions or side effects apply. None of that is present, and the "viewed or edited" wording softens the write semantics that the annotation asserts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, but it spends its words on the generic "API endpoint that allows..." framing instead of front-loading the operation and the object it modifies. Brevity here comes from under-specification rather than economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a completely undocumented free-form body, no output schema, and near-identical siblings for partial update/create/retrieve, the description leaves an agent unable to construct a correct call or confirm it chose the right tool. Given the complexity and zero schema coverage, far more was required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%: `id` is an undescribed string and `body` is an opaque `anyOf` object with `additionalProperties: true`, so its accepted fields are documented nowhere. The description contributes no syntax, format, or field-level meaning beyond implying the body is a compliance assessment record.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence pairs a vague formulation ("allows ... to be viewed or edited") with a resource name, but it reads as an auto-generated REST docstring that restates the endpoint rather than describing the operation. It does not say this is a full update (PUT) replacing a compliance assessment, and it cannot be distinguished from the many siblings such as `..._partial_update`, `..._create`, or `..._retrieve`.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus `compliance_assessments_partial_update` (patch a subset) or `compliance_assessments_retrieve` (read one). Worse, the phrase "viewed or edited" implies this endpoint is also the way to read a compliance assessment, which points the agent at the wrong sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_update_requirement_createApi compliance assessments update requirement createD
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide the key behavioral hints (readOnlyHint=false, destructiveHint=false, openWorldHint=true, idempotentHint=false), and the description adds almost nothing beyond a generic 'viewed or edited' phrase. It does not disclose what is actually created or updated, required permissions, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short, but it is a generic template phrase that does not front-load the specific action or resource. It is concise only because it omits all useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a write operation with a required id, no output schema, and a complex name suggesting requirement creation, the description is completely inadequate. It provides no context about what the tool actually does or what an agent needs in order to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, and the description says nothing about what the id identifies or how it is used. The description completely fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it is an API endpoint for viewing or editing compliance assessments, which is vague and does not match the tool name's specific 'update requirement create' action. It fails to distinguish this tool from the many sibling compliance-assessment endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or which alternatives exist. The agent is left to infer everything from the tool name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_word_report_retrieveApi compliance assessments word report retrieveCRead-onlyIdempotent
Word report generation (Exec)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, openWorld, so the safety profile is covered. The description adds nothing beyond them: no mention of auth requirements, whether the file is generated on demand, pagination, or response format (binary/file).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short and front-loaded, but the brevity comes from under-specification rather than efficiency. It earns its place but contributes almost no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool with an undocumented required id, no output schema, and many near-identical export siblings, the description should clarify resource identification and output nature. It leaves the agent without enough to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter 'id' with 0% schema description coverage, and the description never mentions it. The agent must infer that 'id' is the compliance assessment identifier being reported on.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Word report generation (Exec)' states a resource (Word report) but the verb 'generation' is ambiguous for what is clearly a retrieve/download endpoint, and '(Exec)' is unexplained jargon. The name carries the actual meaning; the description alone is close to tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus the many siblings such as compliance_assessments_xlsx_retrieve, export_retrieve, or action_plan_pdf_retrieve. The agent gets no guidance on selecting the Word output format.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_compliance_assessments_xlsx_retrieveApi compliance assessments xlsx retrieveDRead-onlyIdempotent
API endpoint that allows compliance assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows assessments to be 'edited', while the annotations declare readOnlyHint=true, destructiveHint=false and idempotentHint=true. That is a direct contradiction of the declared safety profile. Nothing about the XLSX payload, file generation cost, or permissions is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is concise. But brevity here comes from boilerplate rather than economy, and it is not front-loaded with the actual operation or output format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-output-schema export endpoint, the description should state the return format, filename/stream behavior, and required id semantics. Instead it supplies none of these and misdescribes the operation as editable, leaving the agent unable to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% – the single required 'id' parameter has no description. The description does not mention the id at all, let alone whether it identifies the assessment to export, so the agent gets no meaning beyond the schema's bare string type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (compliance assessments) but says only that it 'allows compliance assessments to be viewed or edited', which is generic DRF-boilerplate. It never states that this endpoint returns an XLSX export (the distinguishing feature in the tool name, adjacent to siblings like compliance_assessments_export_retrieve and compliance_assessments_cyfun_xlsx_retrieve), so an agent cannot tell what it actually produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this versus the many sibling compliance-assessment retrieval/export tools (csv, cyfun_xlsx, action_plan_xlsx, word_report, export). 'Viewed or edited' gives no selection criteria at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_composer_data_retrieveApi composer data retrieveDRead-onlyIdempotent
api_composer_data_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered and nothing is contradicted. However, the description adds no behavioral context at all - it never explains what 'api composer data' is, whether auth is required, or what openWorldHint implies for this call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single token is a verbatim echo of the identifier rather than an informative sentence, so no sentence earns its place and nothing is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameters, and no descriptive text, an agent has no way to know what data this returns or when to call it. For an opaque retrieve endpoint the description needs to carry the full burden and carries none of it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema defines zero properties, so there are no parameters whose semantics could be clarified and the baseline of 4 applies. The description neither adds nor detracts from parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name with underscores swapped for spaces: "api_composer_data_retrieve". It states no verb, no resource, and no scope, and with hundreds of sibling ciso_assistant_api_* retrieve tools an agent gains zero ability to distinguish this endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-naming guidance. Nothing tells the agent which task or entity type routes here instead of ciso_assistant_api_composer... siblings or the many other *_retrieve endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_content_types_retrieveApi content types retrieveDRead-onlyIdempotent
api_content_types_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered without the description. The description adds nothing beyond them — no note on what the response contains, whether results are paginated, or whether authentication is required for this registry endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness — the single identifier-style string carries no information and is not even a readable sentence. There is no front-loaded statement of purpose to build on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and a description that says nothing, an agent has no basis for deciding what this endpoint returns or when to call it. Even a one-line sentence about the registry it exposes would have closed the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. The empty schema (additionalProperties: false) makes invocation unambiguous despite the absent description text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal string "api_content_types_retrieve", a verbatim restatement of the tool name. It gives no indication of what a 'content type' is in this domain (Django content types? MIME types?) or what is being retrieved, so an agent cannot distinguish it from the hundreds of sibling *_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all: no when-to-use, no when-not-to-use, and no reference to any of the many sibling retrieve/list tools. The agent must guess purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_contracts_batch_action_createApi contracts batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true, so the safety profile is structured. The description adds nothing beyond that: it does not say which actions are supported, whether a payload requires IDs plus an action field, what permissions are needed, or what happens on partial failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no wasted words, but that brevity comes from under-specification rather than efficiency. There is nothing front-loaded about targeting, action types, or payload shape.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world mutation tool with an empty input schema and no output schema, the description should explain the expected request body and the supported action semantics. None of that is present, leaving the agent unable to construct a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero properties and additionalProperties=false, which for a batch-action endpoint is suspicious — the agent needs to know it must supply target object IDs and an action name. The description does not compensate for this at all; a bare baseline is the most that can be credited.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Perform a batch action on multiple objects' restates the tool name generically and never names the resource (contracts) or what a 'batch action' actually does. Against hundreds of sibling *_batch_action_create tools, it gives the agent nothing to distinguish this one from ciso_assistant_api_assets_batch_action_create or any other.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the plain create/update/partial_update contract tools, nor any mention of prerequisites such as selecting contract IDs or choosing an action type. The agent is left to infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_contracts_cascade_info_retrieveApi contracts cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. However, the description adds no behavioral context beyond those annotations — it does not explain what 'cascade preview' returns, what the id references, or any other relevant behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
At two words, the description is technically concise but severely under-specified. It lacks front-loaded useful information and does not earn its place as a functional tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool with a required identifier and no output schema, the description is completely inadequate. It does not explain the tool's purpose, what a cascade preview contains, or how the id is used, leaving the agent with essentially no information to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter. The description provides no meaning for 'id' at all, leaving the agent unable to determine whether it is a contract id, cascade id, or something else.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only 'Cascade preview:' — it does not state a specific verb or fully describe the resource. It hints at a preview related to cascades but leaves the actual operation ambiguous, failing to distinguish it from the many sibling 'cascade_info_retrieve' tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention any sibling tool, prerequisites, or scenarios where this cascade preview should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_contracts_createApi contracts createD
API endpoint that allows contracts to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, so the write nature is already known from structured fields; the description adds nothing about validation failures, required fields, duplicate handling, or permissions. Worse, saying contracts can be 'viewed' nudges toward a read operation, which conflicts with the non-read-only annotation, though the boilerplate is too vague to call a hard contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence, but brevity here comes from under-specification rather than economy – every word is filler that could be replaced with a concrete statement of the create operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world create endpoint with an entirely undocumented body and no output schema, the description provides none of the information an agent needs to call it safely or correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'body' parameter is an untyped free-form object with no documented properties. The description supplies no information about what the request body must contain, so an agent has nothing to construct a valid create payload from.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'API endpoint that allows contracts to be viewed or edited' is generic DRF boilerplate that never states the tool creates a contract, despite the name being contracts_create. It is also ambiguous against siblings: contracts_list, contracts_retrieve, contracts_update and contracts_create all plausibly fit 'viewed or edited'. A reader cannot tell what this tool actually does that the others do not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus contracts_partial_update, contracts_update, contracts_list or contracts_batch_action_create. Neither preconditions nor exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_contracts_currency_retrieveApi contracts currency retrieveCRead-onlyIdempotent
API endpoint that allows contracts to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 needs only to add what the annotations don't say. Instead it says the endpoint allows contracts to be 'viewed or edited', implying write capability that conflicts with the read-only annotation, and offers no other behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so nothing is bloated, but the sentence is generic auto-generated text rather than a front-loaded statement of the actual purpose. Brevity without information is not a strength.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is the only place an agent could learn what this endpoint returns, and it says nothing about the currency payload. For a zero-param retrieve with no documented response, the description is materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and schema coverage is 100%, so there is nothing for the description to clarify at the parameter level. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic boilerplate ('API endpoint that allows contracts to be viewed or edited') that does not actually state what this specific endpoint returns. The tool name implies a currency lookup for contracts, but the description never mentions currency or what is retrieved, so an agent cannot distinguish it from contracts_retrieve or contracts_status_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this tool, no mention of alternatives such as contracts_retrieve, entities_currency_retrieve, or pmbok_projects_currencies_retrieve, and no prerequisites. Usage must be inferred entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_contracts_destroyApi contracts destroyDDestructiveIdempotent
API endpoint that allows contracts to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, readOnlyHint=false, and idempotentHint=true, but the description frames the endpoint as a view/edit endpoint and never mentions deletion, irreversibility, object removal, or referential-link side effects. This directly conflicts with the declared destructive nature, leaving the agent unable to understand the consequence of calling it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is a generic Django REST Framework boilerplate string that spends its only words on the wrong operation. Brevity without content does not earn credit here.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, irreversible delete with one undocumented parameter, no output schema, and no annotations-level detail reproduced or extended leaves an agent with nothing it needs: not the effect, not the permissions, not the response, not the confirmation semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required 'id' parameter is undocumented in both schema and description. The description says nothing about which contract identifier is expected or its format, so it fails to compensate for the coverage gap, though the parameter is at least obviously the target record.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (contracts) but states the wrong operation: 'allows contracts to be viewed or edited' omits the deletion behavior that the tool name ('destroy') and annotations (destructiveHint=true) both indicate. An agent reading only the description would not know this tool removes a contract, so the stated purpose is actively misleading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many sibling tools (contracts_retrieve, contracts_update, contracts_partial_update, contracts_list, contracts_batch_action_create). No preconditions, no warnings, no exclusions. The phrase 'viewed or edited' even points an agent toward the wrong siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_contracts_dora_contractual_arrangement_retrieveApi contracts dora contractual arrangement retrieveCRead-onlyIdempotent
API endpoint that allows contracts to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows contracts to be "edited", while annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false. That is a direct conflict about whether this tool mutates state, and it gives no other behavioral context (no ID/path semantics, no scoping, no return shape).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is concise by size. However, that brevity comes at the cost of under-specification and, worse, embeds the misleading 'edited' claim, so the one sentence does not fully earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the main carrier of meaning, yet it never says what a DORA contractual arrangement record contains or how this endpoint differs from the many other contract endpoints. Read-only annotations help, but the description actively undercuts them, leaving the agent unable to call this confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4 and there is no parameter surface the description needs to explain. The absence of any identifier parameter for a single-object retrieve is notable but is a schema concern, not something the description omits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it is an "API endpoint that allows contracts to be viewed or edited", which restates the resource generically without naming the actual object (a DORA contractual arrangement) that the tool name specifies. It does not distinguish this from the prominent sibling ciso_assistant_api_contracts_retrieve, so an agent cannot tell which one returns what.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus ciso_assistant_api_contracts_retrieve, ciso_assistant_api_contracts_list, or ciso_assistant_api_contracts_object_retrieve. The only signal is the implied 'viewing contracts', which is not enough for selection among many near-identical siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_contracts_export_csv_retrieveApi contracts export csv retrieveCRead-onlyIdempotent
API endpoint that allows contracts to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says contracts can be "viewed or edited" while annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false — an export endpoint cannot edit anything. Beyond that contradiction, the description says nothing about the CSV payload, its encoding, or how the file is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is concise, but the one sentence carries no real information — brevity at the cost of substance rather than in service of it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter export tool with no output schema, the description is the only place to state that the response is a CSV file of contracts. It omits that entirely and instead describes view/edit behavior, leaving the agent without the one fact it needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing for the description to clarify; baseline 4 applies. The description neither helps nor hurts here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST boilerplate ("allows contracts to be viewed or edited") and never mentions that this endpoint exports contracts as CSV, which is the whole point of the tool name. An agent comparing it to siblings like contracts_export_xlsx_retrieve or contracts_list gets no signal distinguishing it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the CSV alternative (contracts_export_xlsx_retrieve) or of when a plain list/retrieve call would be preferable. The only clue is the tool name itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_contracts_export_xlsx_retrieveApi contracts export xlsx retrieveCRead-onlyIdempotent
API endpoint that allows contracts to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says contracts can be 'viewed or edited', implying a write capability, while annotations declare readOnlyHint=true and destructiveHint=false — a direct conflict. The description also fails to convey that this is a file-export endpoint returning a binary XLSX payload, a behavior the annotations do not cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is structurally tight. However, the sentence spends its only clause on generic CRUD language rather than the export-to-XLSX behavior, so brevity buys no value here.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameters, and no filter documentation, the description is the sole source of information about what an agent will receive — yet it never says the response is an XLSX file, what rows/fields it contains, or what scope of contracts is exported. That is a substantive gap for an export tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so the schema carries no semantics burden and the baseline of 4 applies. The description adds nothing and nothing is missing in this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'API endpoint that allows contracts to be viewed or edited' is generic auto-generated CRUD boilerplate that never mentions the actual operation named in the tool: exporting contracts to XLSX. It does not distinguish this tool from the many siblings (contracts_list, contracts_retrieve, contracts_export_csv_retrieve), leaving the agent unable to tell what it produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus contracts_list, contracts_retrieve, or contracts_export_csv_retrieve, and no prerequisites or exclusions are stated. The agent gets no routing signal at all, so a name-only guess is the only recourse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_contracts_governing_law_country_retrieveApi contracts governing law country retrieveCRead-onlyIdempotent
API endpoint that allows contracts to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that – no mention that the response is a static choice list (governing law countries) rather than contract records, and the phrase "viewed or edited" points at capabilities this endpoint does not have.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no padding, so it is concise. But it is boilerplate with no front-loaded substance; the space is spent on a generic statement instead of the one useful fact about the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no parameters, and a boilerplate description leave the agent with no idea what comes back (a list of country codes/labels) or what the endpoint is for. For a lookup endpoint whose only value is its return content, this is essentially undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to explain and the schema is trivially complete. Baseline 4 for a no-parameter endpoint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description, "API endpoint that allows contracts to be viewed or edited," is generic Django REST framework boilerplate that restates the resource but not the actual operation. It never says this returns the set of countries available for a contract's governing-law field, and it does not distinguish itself from the many sibling contracts_* retrieve/list endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus ciso_assistant_api_contracts_retrieve, contracts_list, or the sibling choice endpoints (currency, status, termination_reason). An agent has to infer from the tool name alone that this is a lookup/enumeration helper rather than a per-record fetch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_contracts_listApi contracts listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| limit | No | ||
| owner | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| currency | No | ||
| end_date | No | ||
| ordering | No | ||
| max_pages | No | ||
| solutions | No | ||
| is_intragroup | No | ||
| provider_entity | No | ||
| beneficiary_entity | No | ||
| termination_reason | No | ||
| notice_period_entity | No | ||
| overarching_contract | No | ||
| governing_law_country | No | ||
| notice_period_provider | No | ||
| dora_contractual_arrangement | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive, and the description does not contradict them. However, it adds no useful behavioral context for the caller: 'inject optimized data into the serializer context' is an internal detail that does not clarify what is returned, whether results are paginated, or how the 22 filters behave.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but it is under-specified rather than effective. The space is wasted on an implementation note instead of front-loading the tool's actual purpose and key usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 22 mostly undocumented optional parameters, no output schema, and no explanation of pagination or filtering, the definition is wholly inadequate for correct invocation. An agent cannot tell what filters exist, how to paginate, or what the response shape will be.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 22 parameters (id, name, limit, offset, search, ordering, status, currency, dates, and many domain-specific filters). The description mentions none of them, so an agent has no semantics for any filter, pagination control, or ordering behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal Django implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does for a caller. It never says the tool lists contracts; only the name/title convey that. This is closer to framework boilerplate than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the numerous sibling contract endpoints (retrieve, object_retrieve, cascade_info, export_csv, etc.). No conditions, prerequisites, or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_contracts_object_retrieveApi contracts object retrieveDRead-onlyIdempotent
API endpoint that allows contracts to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, yet the description claims the endpoint allows contracts to be "edited" – a write capability the annotations explicitly deny. The description also adds nothing about what the object payload contains or what permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so nothing is wasted, but it is under-specified rather than efficient. The one clause it does contain ("or edited") is actively harmful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no schema descriptions, and a dense set of contracts siblings, the definition should carry the burden of explaining the return shape and the read/write distinction. It does neither, leaving the agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage and the description says nothing about it – not whether it is a UUID, ref_id, or numeric key. With one documented-by-nothing parameter, the description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (contracts) but pairs it with the ambiguous verb phrase "viewed or edited," so an agent cannot tell whether this call reads or writes. It offers no differentiation from the sibling contracts_retrieve, contracts_object_retrieve vs contracts_retrieve is exactly the distinction the agent needs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus contracts_retrieve, contracts_list, or contracts_partial_update. The only usage signal is the generic "allows contracts to be viewed," which is implied rather than stated, and no prerequisites or exclusions appear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_contracts_partial_updateApi contracts partial updateC
API endpoint that allows contracts to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true, so the safety profile is covered; the description adds nothing beyond that. Worse, "viewed or edited" blurs read and write semantics for an endpoint that is purely a mutation, and it says nothing about which fields are affected or whether omitted fields are preserved (the defining trait of a partial update).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler and nothing to trim, but its brevity comes from under-specification rather than discipline. It is front-loaded only in the trivial sense of naming the resource first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A partial-update tool with an opaque free-form body parameter, no output schema, and zero schema documentation demands a real description. Given nothing about the payload shape, required permissions, or the effect of partial updates, the definition is inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%: neither `id` nor `body` has any documentation, and `body` is a free-form object with additionalProperties. The description mentions "contracts" but gives no hint about what the body should contain, so it does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint that allows contracts to be viewed or edited" restates the resource name and generically describes CRUD capability without identifying the operation. It never says this is a PATCH-style partial update, so the description does not distinguish it from contracts_update, contracts_retrieve, or contracts_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many contract siblings. Nothing indicates that this performs a partial mutation, that full replacement should go to contracts_update, or that reads belong to contracts_retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_contracts_retrieveApi contracts retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so the safety profile is covered. The description adds one genuinely new behavioral fact: unauthorized related fields are masked in the response. It stops short of saying masking depends on the caller's role or which fields are affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, front-loaded and readable. It is efficient, though the brevity reflects under-specification rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple read-by-id tool whose annotations cover safety and which has no output schema, but the description still omits the resource identity, the id format, and what masking means for downstream use. Throwaway sub-clauses like 'unauthorized related fields' are left undefined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the sole required parameter id has no description at all, so the description carried the full burden and supplied nothing — not even the identifier format (UUID vs integer) or whether it is the contract id. The one useful detail an agent needs is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Return a single object" restates the name's retrieve verb without naming the resource (a contract) or the identifying key. It never says this fetches one contract record by id, so an agent must infer the subject from the tool name and the crowded sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the obvious alternatives such as contracts_list, contracts_object_retrieve, or contracts_cascade_info_retrieve. The agent gets no help choosing between this and the several near-identical retrieve siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_contracts_status_retrieveApi contracts status retrieveCRead-onlyIdempotent
API endpoint that allows contracts to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says contracts can be 'viewed or edited', implying a write capability, while annotations declare readOnlyHint=true, destructiveHint=false and idempotentHint=true. That is a direct contradiction. Otherwise nothing is disclosed about the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short, front-loaded sentence with no padding, but that brevity reflects boilerplate rather than economy — almost no information is delivered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should say what a status-retrieve endpoint returns (presumably the enumerated contract status values). It does not, leaving the agent unable to tell what payload to expect or how it differs from sibling choice endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there is nothing for the description to clarify; baseline 4 applies. The description neither adds nor misleads about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST boilerplate ('allows contracts to be viewed or edited') that restates the resource name without stating the specific operation. It does not reveal that this is a status/choices lookup, nor distinguish it from ciso_assistant_api_contracts_retrieve or contracts_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance about when to call this instead of the many sibling contracts endpoints (list, retrieve, object_retrieve, termination_reason, currency, governing_law_country). With zero parameters, an agent has no way to infer a trigger condition from the description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_contracts_termination_reason_retrieveApi contracts termination reason retrieveCRead-onlyIdempotent
API endpoint that allows contracts to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, yet the description explicitly advertises that contracts can be 'edited'. That is a direct contradiction of the structured safety profile, and no compensating behavior (what the response contains, that it is a reference/enumeration lookup) is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short, front-loaded sentence with no padding, so it is not verbose. However, brevity here stems from generic boilerplate rather than from economy of information, so it earns only a middling score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a zero-parameter retrieve with no output schema, so the description is the only place an agent could learn that the call returns the set of available contract termination reasons. It provides none of that, and its 'edited' claim actively misleads about capability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and no schema gap to fill. Baseline 4 applies; no parameter-level additions are needed or expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the generic DRF boilerplate 'API endpoint that allows contracts to be viewed or edited', which restates the resource but never says what this specific tool does. It says nothing about 'termination reason' (the distinguishing element in the tool name), so an agent cannot tell it apart from the dozens of other contracts_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives such as api_contracts_list, api_contracts_retrieve, or api_contracts_status_retrieve, and no indication of what input or precondition selects this endpoint. Worse, 'viewed or edited' points the agent toward write use cases that this tool cannot serve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_contracts_updateApi contracts updateCIdempotent
API endpoint that allows contracts to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=true and openWorldHint=true, so the safety profile is covered; the description adds nothing beyond it. Critically, it does not explain that a full update replaces the contract record (so omitted fields may be cleared) nor what the free-form 'body' must contain, which is the key behavioral risk for a non-partial update.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded sentence with no filler, so it is concise. But the brevity is under-specification rather than economy — every useful detail (update semantics, body contents) is absent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, a free-form body object, 0% schema description coverage and a large family of near-identical sibling endpoints, the description needed to carry the update semantics and payload expectations. Instead it is a generic DRF stub, leaving an agent unable to call this correctly without trial and error.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description supplies no parameter meaning at all. The 'body' parameter is an unconstrained object with additionalProperties=true, so the agent has no way to learn which contract fields it should send; only the 'id' is self-evident from its name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'API endpoint that allows contracts to be viewed or edited' is near-tautological boilerplate that does not state that this is a full-update (PUT-style) operation on a single contract. It fails to distinguish the tool from the many sibling contracts endpoints (contracts_partial_update, contracts_retrieve, contracts_list, contracts_update), and the 'viewed' wording points in the wrong direction for a write tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus contracts_partial_update (patch one or a few fields) or contracts_retrieve/object_retrieve (read). No prerequisites, no permission notes, no mention that the whole contract body must be supplied. The agent must infer the update-vs-partial-update choice entirely from the tool name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_hypotheses_batch_action_createApi crq quantitative risk hypotheses batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is carried by structured data. The description adds nothing beyond that: it does not say what the batch payload looks like, whether the operation is atomic, whether partial failures are reported, or what gets mutated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, so nothing is redundant — but the brevity comes from under-specification rather than economy. There is no front-loaded scope or qualifier to anchor the reader.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint on a specific CRQ resource, with no output schema and an empty input schema, needs the description to state the target resource and accepted operations. Neither is present, so an agent would have to guess at how to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero declared parameters the baseline is 4, but the schema is an empty object with additionalProperties=false on a tool whose name implies it must receive a list of objects and an action. The description does not explain how the target objects or the action are conveyed, leaving a real ambiguity that it could have resolved in one clause.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Perform a batch action on multiple objects' restates the suffix of the tool name (batch_action_create) without naming the resource (CRQ quantitative risk hypotheses), the action being batched, or how it differs from the dozens of sibling *_batch_action_create tools. An agent reading only the description cannot tell this apart from ciso_assistant_api_assets_batch_action_create or any other batch endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus single-record update/partial_update on the same resource, nor any prerequisite or exclusion. The description also does not say which batch operations (delete, update field, add tags) are supported, so the agent cannot judge applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_hypotheses_cascade_info_retrieveApi crq quantitative risk hypotheses cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is known. However, the description adds no behavioral context beyond "preview"—it does not say what data is returned, whether the preview includes computed cascade effects, or how expensive the call might be.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two words and a colon, so it is not bloated, but it is under-specified rather than concise. The essential information is absent, and there is no front-loaded explanation of purpose or output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, the domain is a complex CRQ risk model, and the description does not explain the return shape, cascade scope, or how this differs from sibling retrieval tools. The annotations cover read-only safety, but the description is not complete enough for an agent to invoke this confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, id, has 0% schema description coverage, and the description does not say whether it is the quantitative risk hypothesis ID, a study ID, or something else. With no schema documentation and no compensating description, an agent must guess what object to pass.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the fragment "Cascade preview:" and never identifies the resource, what is being previewed, or what the cascade contains. It gestures at a preview operation but is not a specific verb+resource statement, and the long tool name is doing nearly all the work.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this instead of the many sibling CRQ tools such as ciso_assistant_api_crq_quantitative_risk_hypotheses_retrieve, object_retrieve, run_simulation_retrieve, or the batch_action tools. An agent has no basis for selecting this tool over alternatives from the description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_hypotheses_createApi crq quantitative risk hypotheses createD
api_crq_quantitative_risk_hypotheses_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true and idempotentHint=false, but the description adds nothing beyond that — no mention of required permissions, what the request body should contain, whether the operation is reversible, or what happens on duplicate submission.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but shortness here is under-specification rather than conciseness. There is no front-loaded statement of purpose or scope to anchor the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A creation tool for CRQ hypotheses with a freeform body and no output schema requires the description to explain the payload shape and creation semantics. None of that is present, leaving the definition effectively unusable without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'body' parameter has an untyped anyOf object/null schema with 0% description coverage, and the description provides zero clarification of its structure or accepted fields. Since there is a real parameter with no documentation anywhere, the agent is left guessing what payload to send.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal identifier string 'api_crq_quantitative_risk_hypotheses_create' repeated verbatim, adding no prose explanation of what the tool does. An agent gets no more information from the description than from the tool name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of alternatives such as the sibling hypotheses_batch_action_create, hypotheses_list, or hypotheses_update tools. Selection must be inferred entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_hypotheses_default_ref_id_retrieveApi crq quantitative risk hypotheses default ref id retrieveCRead-onlyIdempotent
api_crq_quantitative_risk_hypotheses_default_ref_id_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is known. The description adds nothing beyond that — no explanation of what a default ref id looks like, whether it depends on existing objects, or what the payload contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence that is a literal repeat of the tool name — no front-loaded verb, no scope, no useful content. Brevity here reflects under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although the tool is parameterless and has no output schema, the description still fails to explain what the returned default reference id is, how it is generated, or which CRQ entity it belongs to. For a retrieve endpoint whose return shape is undocumented, that is a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters and schema coverage is 100%, so there is nothing for the description to document. Baseline of 4 applies; the description neither helps nor harms here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim copy of the tool name, restating 'api_crq_quantitative_risk_hypotheses_default_ref_id_retrieve' with no added explanation. It never says what the returned default reference id is for, nor how it relates to the sibling 'ciso_assistant_api_crq_quantitative_risk_hypotheses_retrieve' or '..._object_retrieve'. This is tautological restatement rather than a statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of when this endpoint is preferable to the object/list/retrieve siblings in the same CRQ hypotheses family. The agent must infer that a 'default_ref_id' endpoint supplies an identifier template 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.
ciso_assistant_api_crq_quantitative_risk_hypotheses_destroyApi crq quantitative risk hypotheses destroyDDestructiveIdempotent
api_crq_quantitative_risk_hypotheses_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is known from structured data. The description adds nothing beyond that: no statement about irreversibility, cascade effects on dependent scenarios/simulations, permission requirements, or what the response contains after deletion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because nothing is said: a bare snake_case identifier is not a sentence, has no front-loaded purpose statement, and offers no structure an agent can parse. This is under-specification rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema and an undocumented required id, the description should at minimum state that it permanently removes a CRQ risk hypothesis and what happens to linked simulations or scenarios. None of that is present, so an agent cannot safely call this tool from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter ('id') with 0% schema description coverage, and the description does not say what kind of identifier it is, whether it is the hypothesis's numeric PK or a ref_id/URN, or whether it must belong to the caller's domain. The description provides no compensating semantics at all for an entirely undocumented parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the identifier string 'api_crq_quantitative_risk_hypotheses_destroy', which restates the tool name rather than describing the action. An agent can infer 'destroys a CRQ quantitative risk hypothesis' from the name segments, but there is no verb+resource statement, no scope, and no differentiation from the many other *_destroy siblings in this API surface.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool, when not to, or what alternatives exist. Sibling tools such as crq_quantitative_risk_hypotheses_partial_update, batch_action_create, or the studies/scenarios destroy variants are never referenced, so routing must be guessed from name fragments alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_hypotheses_lec_retrieveApi crq quantitative risk hypotheses lec retrieveBRead-onlyIdempotent
Returns the Loss Exceedance Curve data from stored simulation results.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 curve is derived from stored simulation results, hinting that the response may be empty or stale if no simulation exists, but it says nothing about the shape of the curve data or the failure mode when no simulation has run.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence with zero filler and the key noun up front. It is efficient, though efficient at the cost of the disambiguation detail an agent actually needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and an undocumented id parameter mean the description is the only source of specificity, and it omits the one fact that matters: which record type the id refers to. Against three near-identical LEC siblings, that gap is significant despite the annotations carrying the safety profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'id' has 0% schema description coverage, and the description does not say what it identifies. Given sibling LEC endpoints for hypotheses, scenarios and studies that each take an 'id', the agent cannot tell from the description whether this is a hypothesis, scenario or study identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Returns') and a specific resource ('Loss Exceedance Curve data'), with the source qualifier 'from stored simulation results'. It does not distinguish itself from the sibling LEC endpoints (quantitative_risk_scenarios_lec_retrieve, quantitative_risk_studies_combined_lec_retrieve), which is the only thing keeping it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'From stored simulation results' implies the prerequisite that a simulation must already have been run, which is useful implicit usage context. However, there is no explicit statement of when to use this over the scenario-level or study-level LEC endpoints, and no exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_hypotheses_listApi crq quantitative risk hypotheses listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| risk_stage | No | ||
| is_selected | No | ||
| quantitative_risk_scenario | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered without the description. The only added signal is a vague hint that 'optimized data' is injected into the serializer context, which suggests richer payloads but does not specify what is returned, whether pagination applies, or how permission scoping works.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is a developers' note that conveys nothing actionable to an agent, so terseness here is under-specification rather than efficiency. No useful information is front-loaded because none is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 9-parameter listing endpoint with no output schema and no parameter documentation needs a description that explains filtering, ordering and pagination. This description addresses none of that and only describes an internal serializer tweak, so the definition is unusable as guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 9 parameters (id, limit, offset, search, ordering, max_pages, risk_stage, is_selected, quantitative_risk_scenario), leaving the description fully responsible for explaining them. It mentions none of them, so filter semantics such as risk_stage or quantitative_risk_scenario and the max_pages limit are entirely opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is an internal implementation note ('Override the list method to inject optimized data into the serializer context') rather than a description of the tool's purpose. It never states that it lists CRQ quantitative risk hypotheses or what those records are, so the agent must infer purpose entirely from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance: no mention of alternatives such as ciso_assistant_api_crq_quantitative_risk_hypotheses_retrieve or _object_retrieve, no filtering scenarios, and no exclusions. An agent has no basis for choosing this over sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_hypotheses_object_retrieveApi crq quantitative risk hypotheses object retrieveDRead-onlyIdempotent
api_crq_quantitative_risk_hypotheses_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered without the description. The description adds nothing beyond that - no mention of what is returned, whether missing IDs error, or any access constraints - so it earns only a minimal score on top of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is nothing extraneous, but only because there is almost nothing at all - a bare identifier with no front-loaded statement of purpose, scope, or outcome. Brevity here reflects under-specification rather than efficient editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool with one undocumented parameter and no output schema, the description should at minimum identify the resource and the meaning of the ID. It supplies neither, leaving the agent entirely dependent on the opaque tool name and sibling naming conventions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%: the single required parameter 'id' is an untyped-in-prose string with no format, source, or example given anywhere. The description does not compensate at all, so an agent cannot tell whether 'id' is a numeric PK, a UUID, or a ref_id string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name, 'api_crq_quantitative_risk_hypotheses_object_retrieve'. An agent can only infer 'retrieve a CRQ quantitative risk hypothesis object' by parsing the identifier itself; the description contributes no additional statement of what the tool does or how it differs from sibling retrieve tools such as ..._hypotheses_retrieve or ..._hypotheses_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance whatsoever is provided. It does not say when to fetch an individual hypothesis object versus calling the list endpoint, the cascade_info endpoint, or the related lec/risk_stage/run_simulation endpoints, all of which appear as siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_hypotheses_partial_updateApi crq quantitative risk hypotheses partial updateD
api_crq_quantitative_risk_hypotheses_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=true, so the safety profile is already covered. The description adds zero behavioral context: nothing about required permissions, whether omitted fields are preserved (the defining trait of a PATCH), validation rules, or side effects on linked simulations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but that brevity is under-specification rather than conciseness — there is no front-loaded statement of purpose because there is no statement at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with an untyped body object, no output schema, and 0% schema description coverage depends entirely on the description, which supplies nothing. An agent cannot know what payload shape to send.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are two parameters (id, body). The description says nothing about the id being the hypothesis UUID or about the free-form body object, leaving both entirely undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The 'description' is the identifier restated verbatim: 'api_crq_quantitative_risk_hypotheses_partial_update'. It encodes a verb (partial update) and a resource (CRQ quantitative risk hypotheses) only because the name does, not because the description explains anything. An agent gets no statement of what a hypothesis is or what fields a PATCH accepts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this instead of ciso_assistant_api_crq_quantitative_risk_hypotheses_update, _create, or the CRQ scenarios/studies siblings. No prerequisites, no context, no alternatives named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_hypotheses_retrieveApi crq quantitative risk hypotheses retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive behavior. The description adds useful context that unauthorized related fields are masked, which is non-obvious, but it does not explain what that means operationally or what permissions affect the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single efficient sentence with no filler, and the behavior (single object, masked fields) is front-loaded. The brevity is appropriate structurally, even though the content is thin.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does not identify the resource, describe the returned object's shape, or cover error/permission conditions. For a retrieve-by-ID endpoint among many similar siblings, this leaves the agent with significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required 'id' parameter with 0% description coverage, and the description does not mention it at all. It neither states that the object is retrieved by ID nor gives format details, so it does not compensate for the undocumented parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a retrieve operation ('Return a single object') but never names the resource (quantitative risk hypotheses) or distinguishes it from siblings such as hypotheses_object_retrieve and hypotheses_list. The masking detail helps but the core action is only vaguely specified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not explain whether to call it instead of hypotheses_object_retrieve, hypotheses_list, or cascade_info_retrieve, nor any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_hypotheses_risk_stage_retrieveApi crq quantitative risk hypotheses risk stage retrieveCRead-onlyIdempotent
api_crq_quantitative_risk_hypotheses_risk_stage_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds nothing beyond that - no mention of the endpoint's semantics, what 'risk_stage' means, or what shape of data comes back. It does not contradict the annotations, but it contributes zero disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is a botched name rather than a compressed explanation. There is nothing front-loaded to help an agent decide quickly, and the single 'sentence' is an unterminated identifier with no readable wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description is the only place an agent could learn what this endpoint returns - and it says nothing. With no parameters and openWorldHint=true, an agent is left guessing about the response payload and about which of the many sibling risk-hypothesis endpoints to use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty with additionalProperties=false, so there are no parameter semantics to document. Per the baseline rule, 0 params yields a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the tool's identifier restated verbatim: 'api_crq_quantitative_risk_hypotheses_risk_stage_retrieve'. It technically encodes a verb (retrieve) and a resource (CRQ quantitative risk hypothesis risk stage), but it offers no prose explanation of what that resource actually is. Against ~600 sibling tools with near-identical naming, it does nothing to distinguish itself beyond the raw token string.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this rather than the sibling hypotheses tools (retrieve, object_retrieve, lec_retrieve, run_simulation_retrieve, cascade_info_retrieve). No prerequisites, no exclusions, not even an implied use case beyond the identifier itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_hypotheses_run_simulation_retrieveApi crq quantitative risk hypotheses run simulation retrieveBRead-onlyIdempotent
Triggers a Monte Carlo simulation for a specific risk hypothesis.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds that the operation runs a Monte Carlo simulation, but it does not explain whether the simulation is synchronous or asynchronous, what happens to prior simulation results, or how to retrieve outputs afterward.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single front-loaded sentence with no wasted words. It states the action and target immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simulation-triggering operation with no output schema, the description is operational thin: it does not say what the call returns, whether a separate status/retrieval call is needed, or how long the simulation may take. Annotations cover the safety profile, but key execution context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter has 0% schema description coverage, so the description must carry the meaning. It usefully anchors the 'id' parameter to 'a specific risk hypothesis,' but does not state the ID format or where to obtain it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action, 'Triggers a Monte Carlo simulation,' and a specific resource, 'a specific risk hypothesis.' This is clear enough to distinguish it from generic retrieve/list tools, though it does not explicitly name the closest simulation-related sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. An agent must infer appropriate usage entirely from the tool name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_hypotheses_updateApi crq quantitative risk hypotheses updateDIdempotent
api_crq_quantitative_risk_hypotheses_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is known without the description. The description adds literally nothing beyond the name — no statement of what fields are changed, whether unspecified fields are preserved or cleared, or what authorization is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here is under-specification rather than concision — a single identifier string with no front-loaded statement of purpose or structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 2-parameter mutation endpoint with an opaque free-form body, no output schema, and zero schema coverage gets no compensating explanation. An agent cannot construct a valid call payload or understand the result from this definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden and fails completely. The only documented parameter in prose is none: 'id' has no type/format guidance and the untyped 'body' object (anyOf object|null) is left entirely unexplained, leaving the agent guessing at the payload shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the verbatim tool identifier 'api_crq_quantitative_risk_hypotheses_update', which merely restates the name/title. An agent can infer it updates a CRQ quantitative risk hypothesis only by parsing the snake_case identifier itself, not from any prose explanation of the operation or its effect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool, no prerequisites (e.g. that an existing hypothesis id is required), and no differentiation from sibling operations like partial_update, batch_action_create, or the scenario/study update endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_scenarios_batch_action_createApi crq quantitative risk scenarios batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=false, idempotent=false, openWorld=true, so the description must add what the batch operation actually does (which action, what gets affected, whether it is reversible). Instead it gives nothing beyond 'batch action', and with an empty, additionalProperties:false schema it is unclear which objects are even targeted. No contradiction with annotations, but no added disclosure either.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, so nothing is wasted, but it is under-specified rather than concise – it front-loads no distinguishing information and would need several more clauses to be actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A non-idempotent, mutating batch endpoint with no output schema and no parameter documentation needs the description to carry the full burden of what it does, what it returns, and its side effects. It carries none of that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters gives the baseline 4, but the empty schema with additionalProperties:false is itself a meaningful gap: the tool accepts no IDs or action selector, and the description does nothing to explain how the target objects are chosen. Slight down-score because the absence of parameters is not addressed anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Perform a batch action on multiple objects' – it never names the resource (CRQ quantitative risk scenarios) or which action is applied. It is effectively a tautology of the name suffix and is indistinguishable from the dozens of other *_batch_action_create siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or pointer to an alternative such as the per-object create/partial_update/update tools for the same scenarios resource. An agent has no basis to prefer this over a sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_scenarios_cascade_info_retrieveApi crq quantitative risk scenarios cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so safety is covered. The only descriptive content, the word "preview", faintly implies a non-committal read that shows what a cascade would affect, but there is no statement of what the payload contains, whether it depends on related objects, or permission constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is a truncated fragment ending in a colon rather than a usable sentence. Brevity here reflects under-specification, not discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A read-only lookup with one undocumented parameter, no output schema, and no description of return shape or cascade semantics. Nothing an agent needs to invoke this correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter is a bare "id" string. The description does not say whether this is a scenario UUID, a study id, or what object the cascade is computed for, leaving the parameter wholly ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is an incomplete fragment that never states a verb or what is being previewed (deletion impact? dependency chain?). The tool name suggests retrieving cascade info for a quantitative risk scenario, but the description does not confirm the resource or action, and it is indistinguishable from the dozens of sibling *_cascade_info_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this versus e.g. ciso_assistant_api_crq_quantitative_risk_scenarios_object_retrieve or _retrieve, nor any prerequisite or exclusion. The agent must guess entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_scenarios_createApi crq quantitative risk scenarios createD
api_crq_quantitative_risk_scenarios_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=false, idempotentHint=false and destructiveHint=false, so the mutation/safety profile is partially covered by structured data. However, the description supplies nothing beyond those annotations – no mention of required parent context (e.g. which quantitative risk study a scenario belongs to), permissions, validation behavior, or whether re-invocation creates duplicates (which matters given idempotentHint=false).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single token with no wasted words, but this is under-specification rather than conciseness. There is no front-loaded statement of purpose, scope, or payload expectations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating, open-world create endpoint with an opaque request body, no output schema, and dozens of closely named CRQ siblings, the description does nothing to make the tool safely invocable. All of the substantive information an agent would need is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema exposes exactly one parameter, 'body', typed only as an untyped object-or-null with schema description coverage at 0%. The description provides no field-level meaning for that body, so an agent has no idea which scenario attributes must be supplied, which makes the opaque payload a serious usability gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool's own identifier repeated back verbatim, so it is a tautology that restates the name rather than explaining the operation. Only the name itself conveys that this creates quantitative risk scenarios under the CRQ module; the prose adds no verb+resource explanation and does nothing to distinguish it from sibling tools such as crq_quantitative_risk_scenarios_batch_action_create or quantitative_risk_hypotheses_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, when not to, prerequisites, or which sibling tool is the alternative. An agent must infer from the name alone whether to create a scenario, use batch_action_create, or target hypotheses instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_scenarios_default_ref_id_retrieveApi crq quantitative risk scenarios default ref id retrieveDRead-onlyIdempotent
api_crq_quantitative_risk_scenarios_default_ref_id_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description contributes nothing beyond that: it does not say what a 'default ref id' response contains, whether it is a single object or a lookup table, or how it relates to the CRQ scenario objects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is under-specified rather than efficient — a single underscore-joined identifier with no front-loaded statement of purpose. Brevity here earns nothing because no sentence conveys information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists and no annotations explain the return shape, so the description was the sole place to say what this retrieve returns. It says nothing, leaving the agent unable to judge what to do with the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty at 100% coverage, so there is nothing for the description to compensate for. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's own identifier repeated verbatim ('api_crq_quantitative_risk_scenarios_default_ref_id_retrieve'). It adds no verb-and-resource statement an agent could parse into meaning, and it does not distinguish this tool from siblings such as crq_quantitative_risk_scenarios_retrieve or crq_quantitative_risk_hypotheses_default_ref_id_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no exclusions, no named alternative. An agent cannot infer from the string alone whether 'default_ref_id' means fetch the default reference record, list default reference IDs, or something else.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_scenarios_destroyApi crq quantitative risk scenarios destroyDDestructiveIdempotent
api_crq_quantitative_risk_scenarios_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, openWorldHint=true and readOnlyHint=false, so the safety profile is communicated by structured data rather than prose. The description contributes zero additional context — nothing about whether deletion cascades to dependent scenarios, whether it is soft or hard delete, or what authorization is required — so it neither contradicts nor enriches 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically short, but the brevity reflects under-specification rather than efficiency: the single line is the tool name echoed back and carries no front-loadable information. There is nothing to trim because there is nothing there.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world mutation tool with a required identifier and no output schema, the description should convey at minimum what is deleted and by what key. It conveys neither, leaving the agent to rely entirely on the annotations and a bare schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, so the schema provides no semantics, and the description supplies none either. It does not state whether the id is the scenario UUID, a ref_id, or an integer, which is a real ambiguity here given that sibling endpoints expose default_ref_id and ref_id concepts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name ('api_crq_quantitative_risk_scenarios_destroy'), which is the textbook definition of a tautological purpose statement. An agent can only infer 'delete a CRQ quantitative risk scenario' by parsing the identifier itself; the prose adds nothing and does not distinguish it from siblings like ciso_assistant_api_crq_quantitative_risk_studies_destroy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (e.g. cascading effects on hypotheses or simulations), and no reference to alternatives such as partial_update if the intent was actually modification. Nothing helps an agent decide between destroy and update.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_scenarios_lec_retrieveApi crq quantitative risk scenarios lec retrieveCRead-onlyIdempotent
Returns combined Loss Exceedance Curve data for the scenario:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the output is combined Loss Exceedance Curve data, but it does not disclose prerequisites such as completed simulations or the return shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, but the trailing colon makes it read as incomplete. Its brevity comes at the cost of useful detail rather than being efficiently concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no schema descriptions, the definition should explain more about the LEC payload, scenario prerequisite state, and identifier expectations. It gives only the bare purpose, leaving important context for an agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It only implies that the required id refers to the scenario, without stating the expected identifier format or whether it is a scenario ID, reference ID, or object ID.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: it returns combined Loss Exceedance Curve data for a scenario. It is more specific than the sibling scenario retrieval tool, but it does not explicitly differentiate itself from tools like scenarios_object_retrieve or hypotheses_lec_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this LEC-specific endpoint versus the scenario retrieve, object_retrieve, or related quantitative risk tools. The implied usage is a scenario LEC lookup, but no alternatives or conditions are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_scenarios_listApi crq quantitative risk scenarios listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| assets | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| threats | No | ||
| ordering | No | ||
| priority | No | ||
| max_pages | No | ||
| is_selected | No | ||
| qualifications | No | ||
| vulnerabilities | No | ||
| quantitative_risk_study | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, non-destructive, so the burden is lighter, but the description adds nothing operational — 'inject optimized data into the serializer context' is internal framework jargon an agent cannot act on. It doesn't disclose pagination, filtering behavior, or what 'optimized' means for the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is internal jargon rather than front-loaded purpose. Brevity here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 14-parameter filtered list endpoint with no output schema, no parameter documentation, and no description of filtering/pagination semantics. The definition gives an agent essentially nothing needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 14 parameters with 0% description coverage and no enums, and the description mentions none of them (id, limit, offset, search, status, priority, assets, threats, vulnerabilities, quantitative_risk_study, ordering, max_pages, is_selected, qualifications). The description fails entirely to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal implementation note ('Override the list method...'), not a statement of what the tool does for a caller. It implies a list operation on quantitative risk scenarios only via the tool name; the resource and behavior are never named in 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many sibling listing tools (e.g. quantitative_risk_hypotheses_list, quantitative_risk_studies_list, quantitative_risk_scenarios_retrieve/object_retrieve). Nothing states preconditions, filters, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_scenarios_object_retrieveApi crq quantitative risk scenarios object retrieveCRead-onlyIdempotent
api_crq_quantitative_risk_scenarios_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered by structured data. The description adds nothing beyond that: no note on permissions, error behavior for a missing id, or the shape of the returned scenario.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity comes from under-specification rather than efficiency. No information is front-loaded because no information beyond the name exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter retrieve, annotations plus schema could nearly suffice, but with 0% parameter documentation and no output schema, the description should at least say what is fetched and returned. It supplies neither.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single 'id' parameter, so the description must compensate and does not. It never states that the id is the primary key of a quantitative risk scenario, nor its format (string, likely UUID).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name repeated ('api_crq_quantitative_risk_scenarios_object_retrieve'), which is a tautology rather than an explanation. It does not state in prose that it fetches a single quantitative risk scenario by id, nor distinguish itself from the many sibling retrieve/list endpoints (e.g. crq_quantitative_risk_scenarios_retrieve, _list, _cascade_info_retrieve).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the numerous sibling retrieval endpoints. The agent must infer from the name alone that this is the single-object fetch rather than the list or filtered retrieve variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_scenarios_partial_updateApi crq quantitative risk scenarios partial updateD
api_crq_quantitative_risk_scenarios_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true, so the mutation profile is known without the description. The description adds nothing beyond that — no mention of what a partial update leaves untouched, permission requirements, or validation behavior for the opaque body. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically brief, but the brevity comes from under-specification rather than efficiency; the single identifier carries no explanatory content and nothing is front-loaded because nothing substantive exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive-capable mutation tool with a completely free-form body object, 0% schema coverage, and no output schema, the description should explain the payload structure and update semantics. It provides none of that, leaving the agent unable to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters, and the description supplies no compensating information. The required 'id' is undocumented and the 'body' parameter (an open-ended object with additionalProperties true) is completely unexplained — an agent has no idea what fields belong there.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the operationId restated verbatim ('api_crq_quantitative_risk_scenarios_partial_update'), which is a tautology of the name and title. An agent can only infer the resource (CRQ quantitative risk scenarios) and action (partial update) by parsing the identifier itself, not from any explanation. It does not distinguish this from the many sibling partial_update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided at all: no when-to-use, no when-not-to-use, and no mention of the sibling tools (create, update, destroy, retrieve, lec_retrieve) that compete for the same resource. The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_scenarios_priority_retrieveApi crq quantitative risk scenarios priority retrieveDRead-onlyIdempotent
api_crq_quantitative_risk_scenarios_priority_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 known even with a null description. The description adds no behavioral context of its own — nothing about what 'priority' ordering means, freshness of computed values, or the shape/size of the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but shortness here is under-specification rather than economy — a bare identifier with no front-loaded explanation of purpose or output. Every word is wasted because none of them convey meaning beyond the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations describing the payload, so the description is the only place a caller could learn what this 'priority' endpoint returns for quantitative risk scenarios. It supplies none of that, leaving an agent unable to judge relevance against the many adjacent scenario endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless schema applies. No syntax or format gaps exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the operation ID verbatim ('api_crq_quantitative_risk_scenarios_priority_retrieve'), a tautology that restates the name/title rather than stating in plain language what the tool returns. An agent gains nothing beyond what it could already parse from the identifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this tool, when not to, or which sibling to prefer (e.g., scenarios_list, scenarios_retrieve, scenarios_lec_retrieve, or the studies-level priority endpoints). Usage must be guessed entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_scenarios_retrieveApi crq quantitative risk scenarios retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a read-only, idempotent, non-destructive operation, so the safety profile is covered. The description adds useful behavioral context by disclosing that unauthorized related fields are masked, which is not captured by the annotations. It does not describe the authorization model or any other return-time behavior, so it remains a moderate addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It is structurally clean, though it omits essential information rather than being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieval endpoint with no output schema and an undocumented required parameter, the description is far too sparse. It should at least identify the resource, explain the ID lookup, and clarify the masking behavior relative to retrieval. The masking note is useful but insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for the single required 'id' parameter, and the description does not mention the parameter at all. It provides no semantics for what the ID identifies or what form it takes, leaving an agent with only the bare required field name from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns a single object and mentions masking, but never states that the object is a CRQ quantitative risk scenario or that it is retrieved by ID. An agent cannot distinguish this retrieval endpoint from sibling tools such as ciso_assistant_api_crq_quantitative_risk_scenarios_object_retrieve or the list endpoint based on the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool instead of alternatives, nor any prerequisites or expected context. The existence of both 'retrieve' and 'object_retrieve' siblings makes this omission significant, because an agent has no textual basis for choosing between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_scenarios_status_retrieveApi crq quantitative risk scenarios status retrieveCRead-onlyIdempotent
api_crq_quantitative_risk_scenarios_status_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that — it does not say what status values are returned, whether it is a per-object lookup or an aggregate, or how the open-world dependency 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but by omission rather than by editing — the single token is the name restated, so nothing is front-loaded because nothing is said. This is under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read tool with no output schema, the description carries the full burden of explaining what comes back, and it explains nothing. An agent cannot tell whether this returns a simulation/status enumeration, a progress object, or an aggregate count, which is exactly the information the missing output schema would have provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline applies. The empty schema is consistent with a parameterless status endpoint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool identifier repeated verbatim ('api_crq_quantitative_risk_scenarios_status_retrieve'), which is a tautology rather than a statement of purpose. An agent can infer that it retrieves a status for CRQ quantitative risk scenarios only by parsing the snake_case name, and nothing distinguishes it from siblings such as the scenarios status endpoints for studies or the plain scenarios_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus ciso_assistant_api_crq_quantitative_risk_scenarios_retrieve, _list, or _object_retrieve. The only hint is the word 'status' embedded in the name, leaving the agent to guess at the selection condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_scenarios_updateApi crq quantitative risk scenarios updateDIdempotent
api_crq_quantitative_risk_scenarios_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description contributes nothing beyond that: it does not say whether this is a full replacement or merge, whether fields omitted from body are cleared, or whether any permission/simulation re-run side effect occurs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token string, but this is under-specification rather than conciseness — there is no front-loaded purpose statement because there is no content at all. Nothing is wasted, but nothing is contributed either.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an unconstrained request body, no output schema, and zero parameter documentation, the description supplies none of the information an agent needs to call it correctly or predict its effect. The gap is total, not marginal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters, and the description offers no compensation. The `body` parameter is an unconstrained anyOf object, so the agent has no way to learn which fields of a quantitative risk scenario are updatable; only the bare `id` requirement is evident from the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool identifier repeated ("api_crq_quantitative_risk_scenarios_update"), which is a tautology rather than an explanation. The name alone hints at updating a CRQ quantitative risk scenario, but the description adds no verb-phrase statement of effect or scope, and does not differentiate this from sibling partial_update or batch_action_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the obvious alternatives among siblings (crq_quantitative_risk_scenarios_partial_update vs _update vs _retrieve). An agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_studies_action_plan_budget_overview_listApi crq quantitative risk studies action plan budget overview listDRead-onlyIdempotent
Mixin that computes budget aggregation over an applied controls queryset.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered, but the description adds no behavioral context about what the aggregation returns, how budgets are grouped, or pagination behavior. Calling it a 'mixin' actively obscures that this is a paginated list endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, but it is under-specified rather than concise: it spends its only clause on an implementation detail (mixin, queryset) instead of the endpoint's resource and effect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain what a 'budget overview' contains and how the study id scopes it; it does neither. For a six-parameter listing endpoint in a complex CRQ domain, this leaves the agent unable to call it correctly or interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Six parameters at 0% schema description coverage, including a required id plus limit, offset, search, ordering and max_pages, none of which the description mentions. With the schema silent and no description compensation, an agent gets no semantic grounding for any argument.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text reads as an internal code comment ('Mixin that computes budget aggregation over an applied controls queryset') rather than a statement of what this endpoint does. It never says it lists an action-plan budget overview for a CRQ quantitative risk study, so an agent cannot reliably distinguish it from siblings such as ciso_assistant_api_crq_quantitative_risk_studies_action_plan_list or the equivalent compliance_assessments action_plan_budget_overview_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no mention of the required study id or the alternative action_plan_list endpoint. The agent is left to infer from the tool name alone which budget-overview variant to call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_studies_action_plan_listApi crq quantitative risk studies action plan listDRead-onlyIdempotent
Action plan for quantitative risk studies.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered structurally; the description adds nothing about pagination, filtering, or what the returned action-plan entries contain. With annotations carrying the profile, this minimal sentence contributes no extra behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short, front-loaded sentence with no wasted words, so structurally fine. However the brevity is pure under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with six parameters, one required identifier, no output schema, and a very large sibling set, one noun phrase is completely inadequate. An agent cannot determine what the endpoint returns or how to page/filter results from this description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Six parameters with 0% schema description coverage: id (required), limit, offset, search, ordering, and max_pages are all bare and untyped beyond nullable anyOf. The description provides zero clarification of what search/ordering accept or how pagination behaves, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a noun phrase that essentially restates the tool name ('Action plan for quantitative risk studies' vs. ..._action_plan_list). It never states the operation (list/retrieve the action plan items for a given study) and gives no basis to distinguish a list of action-plan entries from siblings such as ..._action_plan_budget_overview_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no preconditions (e.g. that a quantitative risk study id is required), and no mention of the closely related action-plan and budget-overview siblings. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_studies_ale_comparison_retrieveApi crq quantitative risk studies ale comparison retrieveDRead-onlyIdempotent
Returns data for ALE comparison chart showing:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that this is a safe, idempotent read operation, so the description does not need to restate that. However, it adds no behavioral context beyond the annotations: nothing about what data is returned, whether the study must be simulated first, or any authorization/simulation prerequisites. The dangling colon also suggests missing content rather than deliberate brevity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but it is not well formed: it ends with a colon and no list or continuation, making it look truncated. The remaining text is too thin to be useful, so brevity here reflects under-specification rather than effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter retrieve endpoint, the description still omits the essential semantics of the id parameter and does not describe what the ALE comparison data will contain. With no output schema present, the description would need to carry more of that burden, and it does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention the required id parameter at all. An agent gets only a generic string schema for id, with no indication that it identifies a quantitative risk study whose ALE comparison chart is being retrieved.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name/title almost verbatim: it says it returns data for an ALE comparison chart, but the trailing colon leaves the statement incomplete. It does not clarify the relationship between the chart and the quantitative risk study id, and it gives an agent no real basis to distinguish it from nearby chart endpoints such as combined_ale_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or how to choose between it and sibling tools like ciso_assistant_api_crq_quantitative_risk_studies_combined_ale_retrieve. An agent would have to infer usage entirely from the endpoint name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_studies_batch_action_createApi crq quantitative risk studies batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, but the description adds no behavioral context: it doesn't say what a 'batch action' does to the studies, whether it is reversible, or what happens on partial failure. For a non-idempotent mutation endpoint, that is a meaningful gap, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no wasted words, but it is under-specified rather than concise — there is no front-loaded scope, resource, or action detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations beyond generic hints, and an empty input schema, the description carries almost the entire burden and delivers none of it: no action vocabulary, no id handling, no response behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters, which normally sets a baseline of 4, but for a batch endpoint the absence of any documented selector or action payload is itself a semantic gap the description should have filled (e.g. which ids, which action). The description contributes nothing about how objects are targeted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title almost verbatim: 'Perform a batch action on multiple objects.' It never names the resource (CRQ quantitative risk studies) or the kinds of batch actions available, so the agent must infer the target from the tool name alone. Sibling tools like ciso_assistant_api_crq_quantitative_risk_studies_destroy and _list are not distinguished in any way.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when this batch endpoint should be used instead of calling create/update/destroy per object, nor any prerequisite or restriction. The agent is left to guess entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_studies_cascade_info_retrieveApi crq quantitative risk studies cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered without the description. The phrase 'Cascade preview' adds a small hint that this is a non-mutating preview, but it does not say what cascade is being previewed, whether it reflects deletion impact, or what the response includes — little 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The two-word fragment is short but is under-specified rather than concise; there is no front-loaded statement of purpose or return, so brevity here reflects missing content rather than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, one undocumented parameter, and no annotations explaining return semantics, the description is expected to carry the load and does not. An agent knows only that this is a read-only preview of something cascade-related for CRQ quantitative risk studies, which is insufficient to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter 'id' with 0% schema description coverage, so the description must compensate and does not. It does not say which entity the id refers to (a study, a scenario, a hypothesis) or what form the id takes, leaving the sole required argument ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just 'Cascade preview:', which hints that the tool returns a preview of cascade effects but never states a verb or resource. The tool name carries nearly all the meaning, and an agent cannot tell from the description alone what distinguishes this from the hundreds of other *_cascade_info_retrieve siblings in the list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus alternatives such as ciso_assistant_api_crq_quantitative_risk_studies_retrieve, the object_retrieve variants, or the many other cascade_info endpoints. Nothing indicates prerequisites, when this is appropriate, or when it should be avoided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_studies_combined_ale_retrieveApi crq quantitative risk studies combined ale retrieveCRead-onlyIdempotent
Returns combined ALE metrics for the quantitative risk study:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds nothing beyond that: it does not say what 'combined ALE' aggregates, what happens if the study has no ALE data, or whether results are expensive to compute. The trailing colon suggests a truncated sentence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, but it terminates in a colon, implying content was cut off, and it leads with a bare metric name without orienting the agent first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should describe the shape of the combined ALE payload (per-scenario/per-hypothesis values, currency, units). It does not, leaving the agent unable to predict what it receives from a metrics endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter with 0% schema description coverage, so the description must carry the burden. 'for the quantitative risk study' only weakly hints that id is the study identifier, and nothing clarifies whether it accepts numeric IDs, ref_ids or UUIDs, nor what happens on an invalid id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Returns combined ALE metrics for the quantitative risk study'. That distinguishes it from generic study retrieval and from the related combined_lec and ale_comparison siblings, though it never says explicitly how it differs from ale_comparison_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this rather than ciso_assistant_api_crq_quantitative_risk_studies_ale_comparison_retrieve, combined_lec_retrieve or key_metrics_retrieve, and no prerequisites (e.g. that the study must have run simulations to yield ALE data).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_studies_combined_lec_retrieveApi crq quantitative risk studies combined lec retrieveCRead-onlyIdempotent
Returns combined Loss Exceedance Curve data for the quantitative risk study:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and open-world, so safety is covered. The description adds nothing beyond restating that it returns LEC data — no indication of data shape, whether the study must have simulations run first, or what an empty/uncomputed study yields. The trailing colon suggests a truncated sentence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence that is front-loaded and waste-free, but the trailing colon signals an incomplete description, so it is under-specified rather than genuinely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a retrieve tool with no output schema and no return-value documentation; the description should at least sketch the LEC data structure or state preconditions (e.g., simulation must have run). Neither is present, leaving the agent unable to judge what it will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden for explaining the single required 'id' parameter — yet it never mentions it. The agent can only guess from the tool name that 'id' is the quantitative risk study identifier rather than a scenario or hypothesis id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Returns) and resource (combined Loss Exceedance Curve data) scoped to the quantitative risk study, which plausibly distinguishes it from combined_ale_retrieve and the per-hypothesis/scenario lec_retrieve tools. However, it never names a sibling or explains what 'combined' means versus the non-combined LEC variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives such as combined_ale_retrieve or the scenario/hypothesis LEC tools. The agent must infer the selection criteria from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_studies_createApi crq quantitative risk studies createD
api_crq_quantitative_risk_studies_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the mutation profile is covered structurally. The description adds nothing on top: no mention of required permissions, what a study object must contain, whether creation triggers simulation runs, or what is returned. With annotations carrying the full safety load, the description still earns only a 2 because it contributes zero behavioural context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is one identifier with no sentence structure and nothing front-loaded. This is under-specification rather than conciseness: there is no wasted word, but there is also no information an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating create endpoint in a complex CRQ domain, with an opaque free-form body, no output schema, and 0% schema coverage, the definition is wholly inadequate. An agent cannot construct a valid call or predict side effects from what is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter is an untyped 'body' anyOf object with additionalProperties=true, so the schema tells the agent nothing about valid fields. The description does not compensate at all — it never mentions the body, its shape, or any required study attributes such as name, scenario links, currency, or distribution parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool slug verbatim ('api_crq_quantitative_risk_studies_create'), a tautology that restates the name and title without adding any explanation. The name does encode a create operation on quantitative risk studies, so an agent can guess the resource, but the description itself contributes nothing and gives no differentiation from the many sibling CRQ endpoints (list, retrieve, update, partial_update, destroy, batch_action).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance of any kind. With over a thousand sibling tools, including ciso_assistant_api_risk_assessments_convert_to_quantitative_create and ciso_assistant_api_crq_quantitative_risk_studies_update, the description gives the agent no basis for choosing this tool over a near neighbour.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_studies_destroyApi crq quantitative risk studies destroyDDestructiveIdempotent
api_crq_quantitative_risk_studies_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered structurally, but the description adds nothing beyond that — no statement about what gets deleted, cascade effects on related scenarios/hypotheses, or permission requirements. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness: a bare identifier with no verb-object sentence, no front-loaded purpose, and no useful content at all. Every possible sentence that would earn its place is missing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world mutation tool with no output schema and zero parameter documentation, the description supplies nothing an agent needs to call it safely or correctly. The burden falls entirely on annotations and name parsing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description says nothing about the single required 'id' parameter — not its type, format, or whether it is the study's numeric PK versus a ref_id/URN. The name-only text provides no compensation for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw snake_case tool name, so any meaning (delete a CRQ quantitative risk study) has to be inferred by parsing the identifier rather than read from prose. It does distinguish the resource from siblings only because the name embeds the resource path, not because the description explains it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the sibling partial_update, update, or batch_action tools, and no warning that this is an irreversible removal. The agent must infer everything from the name token 'destroy'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_studies_distribution_model_retrieveApi crq quantitative risk studies distribution model retrieveCRead-onlyIdempotent
api_crq_quantitative_risk_studies_distribution_model_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 known. The description adds nothing about what the distribution model contains, whether it requires a completed simulation, or how failures behave, so it contributes no behavioral context beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single duplicated identifier with no front-loaded explanation, no structure, and no informational content. Brevity here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place an agent could learn what a 'distribution model' response looks like, yet it says nothing. For a retrieval tool whose payload shape is entirely undocumented, this leaves the caller guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema-as-baseline rule applies at 4; there is nothing for the description to disambiguate. The remaining gap is that it never clarifies how the target study is identified implicitly, but with no parameters this is a minor omission.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is verbatim the tool's identifier repeated, adding no verb or resource phrasing beyond what the name already encodes. An agent can infer from the name that it retrieves a distribution model for a CRQ quantitative risk study, but the description itself supplies zero clarification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to call this versus siblings such as ciso_assistant_api_crq_quantitative_risk_studies_retrieve, _ale_comparison_retrieve, or _combined_lec_retrieve. Nothing indicates prerequisites (e.g., a study must exist or be simulated first) or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_studies_executive_summary_retrieveApi crq quantitative risk studies executive summary retrieveCRead-onlyIdempotent
Returns executive summary data for the quantitative risk study.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so safety is fully covered. The description adds no behavioral context of its own – nothing about whether the study must have completed simulations, whether the summary is empty before simulation runs, or any cost/latency characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded, no wasted words. Brevity alone is not a virtue here because the sentence is thin, but structurally it is clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the burden of telling the agent what the summary contains and what it depends on. It offers neither, and with 0% parameter documentation it leaves the caller with real uncertainty about both input and return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the description must compensate and does not. It never says the id is the quantitative risk study identifier (vs. a scenario or hypothesis id), which is the exact ambiguity an agent would face here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (returns executive summary data for the quantitative risk study), which is more than a restated title. However, it does not distinguish it from close siblings such as key_metrics_retrieve, ale_comparison_retrieve, status_retrieve, or combined_ale_retrieve, all of which are study-scoped retrievals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to prefer this over the other study-scoped summary endpoints. The agent is left to guess from the name alone whether 'executive summary' includes key metrics, ALE, or status data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_studies_key_metrics_retrieveApi crq quantitative risk studies key metrics retrieveCRead-onlyIdempotent
Returns key metrics data for quantitative risk scenarios scoped per study.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds only the per-study scoping note; it says nothing about what the metrics contain, whether they depend on simulation state, or whether the study must exist. With annotations carrying the safety profile, this adds little beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or repetition. It is efficient, though its brevity comes at the cost of the details penalized elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations beyond the read-only profile, the description carries the burden of describing what comes back. It never says what "key metrics" are (counts, exposure figures, distributions) or what happens if the study has no simulation data, leaving an agent unable to judge the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single required `id` parameter, so the schema gives no meaning. The description's "scoped per study" weakly implies that `id` is the quantitative risk study identifier rather than a scenario id, which is useful but not explicit — it does not state the format or the entity type outright.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Returns") and resource ("key metrics data for quantitative risk scenarios"), scoped per study. However, "key metrics" is vague and the description does nothing to distinguish it from the many sibling CRQ metrics/retrieval endpoints (combined_ale_retrieve, ale_comparison_retrieve, combined_lec_retrieve, executive_summary_retrieve), so an agent still cannot tell which metrics endpoint to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no prerequisites (e.g. study must have completed simulation), and no mention of the competing CRQ study metrics siblings. The only implicit guidance is the phrase "scoped per study".
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_studies_listApi crq quantitative risk studies listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| authors | No | ||
| ordering | No | ||
| max_pages | No | ||
| reviewers | No | ||
| genericcollection | No |
TDQS
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 nothing about filtering, pagination (limit/offset/max_pages), authorization scope, or what 'optimized data' means for the response — and 'serializer context' is an implementation detail irrelevant to the caller.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short, front-loaded sentence with no padding, which is structurally fine. The problem is that the single sentence carries no useful information, so brevity comes at the cost of substance rather than from efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 11 undocumented parameters, no output schema, and a description that discusses serializer internals instead of behaviour, an agent has nothing to call this correctly. It is inadequate for a filtering list endpoint on a complex CRQ resource.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Eleven parameters with 0% schema description coverage and no parameter documentation in the description. Filters such as search, status, folder, authors, reviewers, ordering, and max_pages are completely unexplained, so the agent cannot know their syntax or semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Override the list method...' only restates that this is a list endpoint, and it never names the actual resource (quantitative risk studies), which lives only in the tool name. It reads as an internal developer note rather than a description of what the tool returns to an agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the sibling endpoints (retrieve, object_retrieve, key_metrics, executive_summary), and no exclusion criteria. The agent must infer entirely from the tool name which of the ~700 sibling endpoints to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_studies_object_retrieveApi crq quantitative risk studies object retrieveCRead-onlyIdempotent
api_crq_quantitative_risk_studies_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered structurally. The description adds nothing beyond that - no note on permissions, object-not-found behavior, or whether the payload is heavy. It does not contradict the annotations, but it contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token string with no wasted words, but that is under-specification rather than conciseness - there is no front-loaded statement of purpose or scope. Length is fine; content is the problem.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of saying what a quantitative risk study object record contains and why one would fetch just one - it does neither. Given the density of CRQ siblings, an agent cannot confidently select or invoke this tool from the definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description supplies no meaning for the single required `id` parameter - not its type, format (UUID? slug? ref_id?), nor which identifier space it belongs to. The schema alone gives only `type: string`, so the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is verbatim the tool name ("api_crq_quantitative_risk_studies_object_retrieve"), so it only restates the identifier rather than stating in prose what the tool does. An agent can infer from the slug that it fetches an object, but nothing distinguishes it from the sibling `ciso_assistant_api_crq_quantitative_risk_studies_retrieve` or explains what an "object" variant means here.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is named. With nearby siblings `..._studies_retrieve`, `..._studies_list`, `..._studies_object_retrieve` and numerous computed endpoints (`ale_comparison`, `key_metrics`, `combined_ale`), the agent is left guessing which one to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_studies_partial_updateApi crq quantitative risk studies partial updateD
api_crq_quantitative_risk_studies_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, yet the description adds nothing about mutability semantics, whether omitted fields are preserved, permissions required, or side effects. With zero disclosure beyond the name, the description carries none of its burden for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single token-string with no wasted words but also no content; this is under-specification, not conciseness. There is no front-loaded statement of action or scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with two parameters, 0% schema coverage on an opaque body payload, and no output schema, the definition provides nothing an agent needs in order to call it correctly. The opaque 'body' in particular requires explanation the description does not provide.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description says nothing about the required 'id' or the free-form 'body' object (anyOf object/null with additionalProperties true). The single most important unknown, what fields the body accepts on a partial update, is left entirely undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the operation ID repeated verbatim ('api_crq_quantitative_risk_studies_partial_update'), which only indirectly signals a partial update of CRQ quantitative risk studies. It restates the name/title rather than explaining the resource or what a partial update means here, so it is a tautology rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as ciso_assistant_api_crq_quantitative_risk_studies_update, _partial_update for hypotheses/scenarios, or _batch_action_create. An agent must infer everything from the name suffix alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_studies_retrieveApi crq quantitative risk studies retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower, and the description still contributes real information: related fields the caller is not authorized to see are masked in the response. That is a non-obvious behavioral trait an agent could otherwise misread as missing data. It does not say what happens on an unknown/unauthorized id (404 vs masked), which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, so nothing is wasted, but the space saved is spent on the masking detail rather than the purpose. Structure is fine; the content is under-specified rather than verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and only an `id` in the input, the description does convey the one notable response trait (masking), but leaves out what a quantitative risk study record contains and how failures surface. Adequate for a simple read endpoint, not more.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required `id` parameter gets no explanation in the description — not the identifier type/format (UUID vs ref_id) nor where to obtain it. For a one-parameter tool this is recoverable, but the description completely fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Return a single object" essentially restates "retrieve" from the tool name and title; the description never names the resource (a quantitative risk study) or says what the object represents. The only distinguishing content is the masking clause, which describes an implementation detail rather than the tool's purpose. An agent must rely on the tool name and the sibling list to infer this is a get-by-id for CRQ quantitative risk studies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus the many CRQ siblings (e.g. `..._object_retrieve`, `..._list`, `..._cascade_info_retrieve`, `..._key_metrics_retrieve`). No prerequisites, no exclusions, and no note that the caller must already hold an id (obtained from the list endpoint).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_studies_retrigger_all_simulations_createApi crq quantitative risk studies retrigger all simulations createC
Retriggers all simulations for the quantitative risk study.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, non-idempotent, non-destructive, open-world behavior; the description adds nothing beyond the scope word 'all'. It doesn't say whether the call blocks until simulations finish, whether prior simulation results are replaced, or what it returns. For an action endpoint with no output schema, this leaves the operational behavior opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with the action and scope up front and no filler. Efficient, though it is terse to the point of omitting needed context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a trigger-style action with no output schema and minimal annotations, the description should cover return behavior, async/blocking semantics, and preconditions. None of those are present, so an agent knows what it fires but not what to expect afterward.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single required 'id' string is undocumented. The description partially compensates by implying the identifier is a quantitative risk study ('the quantitative risk study'), but it never states this explicitly or confirms whether it is the study ID vs. another reference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and scope: 'Retriggers all simulations for the quantitative risk study.' An agent can tell this is a bulk simulation-rerun action rather than a create/update/read. It does not explicitly contrast with the sibling run_simulation endpoint on hypotheses, but the 'all' scope distinguishes it adequately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus updating the study or running a single hypothesis simulation, and no stated preconditions (e.g. that the study must have configured hypotheses/scenarios before retriggering has any effect). The agent must infer all of this.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_studies_status_retrieveApi crq quantitative risk studies status retrieveCRead-onlyIdempotent
api_crq_quantitative_risk_studies_status_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is fully covered by structured data. The description adds nothing beyond that — no mention of what 'status' means (simulation progress? study lifecycle?), whether it polls, or what it returns. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short string, so brevity is not the issue — the issue is that the single sentence carries zero information beyond the identifier. Concise but not earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter retrieval with no output schema, the description should at minimum say what the status payload reflects (e.g. simulation readiness/completion of a quantitative risk study) and how it differs from the main retrieve endpoint. None of that is present, leaving the agent unable to judge fitness versus siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (empty schema, additionalProperties false), so there is no parameter semantics to explain; the baseline of 4 applies. The description neither helps nor hurts here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw snake_case operation id repeated verbatim, so it is essentially a tautology of the name/title. An agent can infer 'retrieve status for quantitative risk studies' only by re-parsing the identifier, and nothing distinguishes it from siblings like ciso_assistant_api_crq_quantitative_risk_studies_retrieve or ..._key_metrics_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this endpoint, when not to, or how it relates to the many adjacent CRQ study endpoints (retrieve, key_metrics_retrieve, executive_summary_retrieve, object_retrieve). No guidance of any kind is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_crq_quantitative_risk_studies_updateApi crq quantitative risk studies updateDIdempotent
api_crq_quantitative_risk_studies_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=true, openWorldHint=true, so the mutation and safety profile is covered structurally. The description adds nothing: no statement about replacement semantics (full PUT-like overwrite vs merge), required permissions, or effects on linked simulations/scenarios — notable given the study has simulation-related siblings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but this is under-specification rather than conciseness; there is no front-loaded purpose statement, just a machine identifier with underscores.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint in a large API surface with no output schema, 0% parameter documentation, and dozens of near-identical CRQ siblings, the description supplies nothing an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description mentions no parameters at all. `id` (the study identifier) and an opaque free-form `body` object are left entirely unexplained; the description should at least indicate which study fields can be updated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the operation ID repeated verbatim ('api_crq_quantitative_risk_studies_update'), which only implies an update on a CRQ quantitative risk study. It provides no verb/resource statement beyond decoding the identifier, and it does not distinguish this tool from the nearby siblings (partial_update, destroy, retrieve, batch_action).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this full update versus ciso_assistant_api_crq_quantitative_risk_studies_partial_update, nor any prerequisites or context. An agent must infer everything from the name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_csrf_retrieveApi csrf retrieveBRead-onlyIdempotent
API endpoint that returns the CSRF token.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is supplied elsewhere. The description adds only the returned resource and says nothing about authentication requirements, session/cookie coupling, token lifetime, or response format. It does not contradict the annotations, but it adds minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no redundant detail. Every word serves to identify what the endpoint returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, parameterless GET endpoint with rich annotations and no output schema, the description is minimally adequate. However, it omits how the token is delivered and whether authentication/session state is required, which are relevant for a CSRF-token endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the description correctly does not invent parameter guidance. The baseline for a parameterless tool is 4; there is no parameter semantics gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and action: it returns the CSRF token. That is clearer than the title alone and distinguishes it from the many resource-oriented sibling tools. It stops short of a 5 because 'API endpoint' is filler and it does not explicitly contrast with related auth/session endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to call this tool, when not to, or what alternative endpoints might serve a related need. An agent can infer that it is used to obtain a CSRF token, but that inference is not stated as usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_cwes_autocomplete_retrieveApi cwes autocomplete retrieveCRead-onlyIdempotent
API endpoint that allows CWEs to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows CWEs to be 'edited', while the annotations declare readOnlyHint=true and destructiveHint=false. This is a direct contradiction about whether the tool mutates data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no wasted text, but its brevity comes at the cost of accuracy and usefulness. The structure is acceptable but the content is misleading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless autocomplete endpoint, the description should explain that it returns autocomplete suggestions for CWEs and clarify how it differs from related list/retrieve tools. It instead provides only a generic DRF endpoint description that does not support correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics to explain. The schema is empty and fully documented at 100% coverage, making the baseline score appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the CWE resource and says it can be 'viewed or edited', but it never identifies the tool's actual autocomplete behavior and does not distinguish it from siblings like cwes_list or cwes_retrieve. The phrase 'viewed or edited' is also misleading for a read-only endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this autocomplete endpoint versus cwes_list, cwes_retrieve, or the other CWE tools. The generic 'viewed or edited' phrasing gives an agent no basis for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_cwes_batch_action_createApi cwes batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true; the description adds nothing beyond that. It does not say what a "batch action" can do (field updates? folder assignment?), whether failures are partial, or that some batch operations may be irreversible despite destructiveHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no filler, but its brevity comes from under-specification rather than efficiency. Nothing in the sentence tells the agent anything the tool name did not already convey.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent mutation endpoint with an empty parameter schema and no output schema, the description should explain the batch mechanism, required target list, and outcome. None of that is present, so an agent cannot reliably construct a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters, which normally sets a baseline of 4, but here the empty object with additionalProperties=false is anomalous: the description gives no hint how the target object IDs and the action itself are supplied. That is a real gap the description should have compensated for, so it scores below the nominal baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only "Perform a batch action on multiple objects" – "objects" is undefined and the resource (CWEs) is never mentioned, so it reads as a restatement of the name/title. Dozens of sibling tools are also named *_batch_action_create, and nothing here distinguishes this one from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when to prefer the single-record cwes_create/cwes_update/cwes_partial_update, or which batch actions exist. The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_cwes_cascade_info_retrieveApi cwes cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=true, idempotentHint=true, openWorldHint=true, destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that – it does not explain what a 'cascade preview' returns, whether it enumerates dependent objects, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is under-specified rather than concise: a two-word fragment with no front-loaded statement of what the tool actually does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameter documentation, and a fragmentary description, an agent has essentially nothing to decide when to call this or what to expect back. The definition is not adequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the single required 'id' parameter is undocumented in both schema and description. The description gives no indication of what object the id identifies (presumably a CWE) or its expected format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Cascade preview:' is a bare fragment that largely restates the title/name ('cascade_info_retrieve'). It hints that some cascade-related preview data is returned, but never says for what resource or what the preview contains, so it does not distinguish this from the many sibling cascade_info_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus ciso_assistant_api_cwes_retrieve, cwes_object_retrieve, or any of the dozens of other *_cascade_info_retrieve siblings. No prerequisites, 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.
ciso_assistant_api_cwes_createApi cwes createC
API endpoint that allows CWEs to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true and idempotentHint=false, so the description adds nothing on safety or side effects. There is no mention of required permissions, what happens on duplicate CWE ids, or what the request body should contain for a write endpoint with zero documentation elsewhere.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, which is structurally fine, but the sentence is boilerplate that conveys almost no information for the token budget it consumes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A create endpoint with no output schema, 0% schema description coverage, and no behavioral annotations beyond generic hints needs the description to carry the payload contract and mutation semantics. The boilerplate line leaves the agent without enough to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'body' parameter is an unconstrained object (additionalProperties: true, nullable). The description supplies no field names, required keys, or example payload, so an agent must guess the CWE write shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'API endpoint that allows CWEs to be viewed or edited' is generic Django-REST-Framework boilerplate that does not state that this tool creates a CWE. It names the resource (CWEs) but describes read/edit semantics, so an agent cannot tell from the text that this is the create operation rather than a retrieve/update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus siblings such as ciso_assistant_api_cwes_update, cwes_partial_update, cwes_batch_action_create, or cwes_sync_catalog_create. The only hint is the tool name suffix, so usage has to be inferred entirely from naming.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_cwes_destroyApi cwes destroyDDestructiveIdempotent
API endpoint that allows CWEs to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations carry the real behavioral facts (destructiveHint=true, readOnlyHint=false, idempotentHint=true), which the description neither reinforces nor explains. The description adds nothing about irreversible deletion, referential impact on linked records, or required permissions, and its wording implies a benign view/edit endpoint, which is the opposite of the annotation profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but every word is non-informative template text copied from the API framework. Conciseness without content does not earn its place; the one sentence should have been spent on the delete semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, irreversible operation with no output schema and undocumented parameters, the description should at minimum say that the CWE is permanently removed and what 'id' identifies. It supplies none of that, leaving the agent entirely dependent on annotations for even the basic nature of the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is an untyped string with no format hint. The description never mentions the identifier, whether it is a UUID or integer, or how to obtain it – so it does not compensate for the coverage gap at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the endpoint as an 'API endpoint that allows CWEs to be viewed or edited', which is generic DRF boilerplate rather than a statement of what this specific tool does. It never says the tool deletes a CWE, so it fails to distinguish this tool from its siblings cwes_retrieve, cwes_list, or cwes_partial_update – and in fact borrows their language.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. Worse, the phrase 'viewed or edited' actively misdirects an agent toward reading or updating CWEs, so an agent following the description could invoke a destructive delete when it intended a read.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_cwes_listApi cwes listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| urn | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| library | No | ||
| ordering | No | ||
| provider | No | ||
| max_pages | No | ||
| filtering_labels | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and open-world, so the safety profile is covered. The description adds only an internal note about serializer context injection, which tells the agent nothing actionable about the response, filtering, or pagination behavior of this list endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no bloat, but the sentence does not earn its place: it conveys only an implementation detail rather than the resource being listed or the filters supported.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 11 undocumented parameters, no output schema, and no explanation of return shape or filtering, the description is entirely inadequate for a list endpoint of this complexity. It is effectively an internal code comment exposed as a tool description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Eleven parameters (id, urn, limit, offset, search, folder, library, ordering, provider, max_pages, filtering_labels) have zero schema description coverage and untyped anyOf bodies, and the description supplies no meaning for any of them. The agent must guess at the semantics of pagination, ordering, and the library/folder/provider filters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description references "the list method" but never states what is being listed; the resource (CWEs) is inferable only from the tool name. What remains is an implementation note about injecting optimized data into a serializer context, which describes internals rather than the tool's observable purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of the obvious siblings such as ciso_assistant_api_cwes_retrieve, cwes_object_retrieve, or cwes_autocomplete_retrieve. An agent has no textual basis for choosing among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_cwes_object_retrieveApi cwes object retrieveCRead-onlyIdempotent
API endpoint that allows CWEs to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and idempotentHint=true, so the safety profile is already carried by structured data. However, the description's claim that CWEs can be "edited" through this endpoint points the opposite direction from a read-only retrieve, and it says nothing about what is returned, whether 404s occur, or what a CWE record contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short, front-loaded sentence with no padding, so it is efficient in size. The problem is that almost all of that brevity comes from generic Django REST Framework boilerplate rather than content specific to this tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with annotations and no output schema, the description still needs to say what a CWE is in this system, what the id looks like, and how this differs from cwes_retrieve/cwes_object_retrieve. None of that is present, so an agent cannot confidently choose or invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, and the description never mentions it. The agent must guess that 'id' is the CWE identifier (and whether it is a numeric pk or a reference string) with no help from either the schema or the prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence "API endpoint that allows CWEs to be viewed or edited" largely restates the title and resource name without a precise verb for this specific operation. It does not distinguish this tool from its many obvious siblings such as ciso_assistant_api_cwes_retrieve, ciso_assistant_api_cwes_object_retrieve, ciso_assistant_api_cwes_list, or ciso_assistant_api_cwes_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the near-identical siblings (cwes_retrieve, cwes_object_retrieve, cwes_list, cwes_autocomplete_retrieve). The agent must infer from the tool name alone that this fetches a single CWE by id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_cwes_partial_updateApi cwes partial updateC
API endpoint that allows CWEs to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false, so the mutation profile is already covered structurally. The description adds nothing beyond that – no statement of which fields are patchable, whether omitted fields are preserved, or what happens with an invalid/unknown id. The word 'viewed' even implies a read capability this endpoint does not have, though it does not hard-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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence with zero waste, but that brevity comes from under-specification rather than discipline – no verb, scope, or payload detail is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameter documentation, and a free-form request body, the description is the only place an agent could learn what a partial update accepts. It delivers none of that, so calling the tool correctly is essentially guesswork.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%: `id` is an untyped-purpose string and `body` is an opaque free-form object with no property definitions. The description supplies no compensating information about the body payload shape or the id format, leaving the agent to guess at the CWE representation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a generic Django-REST-Framework docstring that says CWEs may be 'viewed or edited' – it never states that this particular endpoint performs a PATCH-style partial update on a single CWE. An agent cannot distinguish it from cwes_retrieve, cwes_update, cwes_list, or cwes_partial_update without inspecting the name suffix.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use partial update versus full update, create, or destroy, and no mention of prerequisites such as an existing id or required permissions. The 'viewed or edited' phrasing actively blurs the choice between read and write siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_cwes_retrieveApi cwes retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive). The description adds genuinely useful behavior beyond them: related fields are masked for unauthorized users. However, it does not explain what 'unauthorized' means, what triggers masking, or whether the masked response is still usable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no waste, but it front-loads nothing useful — the resource identity and identifier semantics are omitted where they should lead.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-object retrieval with an undocumented parameter and no output schema, the description leaves the agent guessing what entity is fetched and what identifier to supply. Only the masking behavior is communicated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter with 0% description coverage, so the description must carry the burden. It never mentions the id parameter, its format, or what kind of identifier (CWE number vs. internal PK) is expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Says only 'Return a single object', which restates the retrieve semantics without naming the resource (CWE). An agent cannot distinguish it from sibling cwes_object_retrieve or cwes_list based on the description text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus cwes_list, cwes_object_retrieve, or cwes_autocomplete_retrieve. Usage is only inferable from the tool name and the required id parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_cwes_sync_catalog_createApi cwes sync catalog createB
Sync CWE catalog from MITRE.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false, so the safety profile is covered. The description adds only the external data source (MITRE), but says nothing about what happens to existing catalog entries on re-sync, whether the operation is long-running, or whether it fails when offline — meaningful gaps for a non-idempotent open-world mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the source of the sync is the one detail worth surfacing and it is surfaced immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No parameters and no output schema mean little is required, and annotations carry the safety semantics. Still, for a non-idempotent open-world operation that mutates the CWE catalog, an agent would benefit from knowing the effect on existing data and typical failure modes, none of which are stated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema is trivially complete at 100% coverage and no description-side parameter explanation is needed. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (sync) plus resource (CWE catalog) and names the external source (MITRE), which clearly separates it from the sibling CRUD tools like cwes_create, cwes_update and cwes_list. It stops short of a 5 because 'sync' leaves ambiguity about direction and effect (import-only vs. replace).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus cwes_create/cwes_list, no prerequisites (network access, permissions), and no warning about repeated invocation. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_cwes_updateApi cwes updateCIdempotent
API endpoint that allows CWEs to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile (readOnlyHint=false, idempotentHint=true, destructiveHint=false, openWorldHint=true). The description adds nothing beyond them—it doesn't state what a full update overwrites, whether omitted fields are cleared (full PUT semantics), or what the body contains. The phrase 'viewed or edited' even blurs the write-only nature of this endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no padding, so nothing is wasted; but the brevity reflects under-specification rather than efficient signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter write tool with zero schema coverage and no output schema, an agent needs to know what the body should contain and that the id identifies the target CWE. None of that is present, so the definition is inadequate to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the required 'id' and the free-form 'body' object. It mentions neither, leaving the undocumented parameters entirely unguided—the boldest possible gap for a mutation tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a generic auto-generated phrase: 'allows CWEs to be viewed or edited.' It loosely names the resource (CWEs) but the verb is vague and conflates read and write, and it does nothing to distinguish this update endpoint from siblings like cwes_create, cwes_partial_update, cwes_retrieve, or cwes_destroy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this over cwes_partial_update (partial vs full update), cwes_create, or cwes_retrieve. No prerequisites, no exclusions, no alternative named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_data_wizard_load_file_createApi data wizard load file createD
api_data_wizard_load_file_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false, but the description adds nothing about what is mutated, what auth or file-format requirements apply, or whether repeated calls duplicate state. For a non-idempotent, open-world write endpoint the description carries a large undisclosed burden and discloses none of it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically short, but the brevity is under-specification rather than economy — the single identifier-string has no front-loaded purpose statement or structure. There is nothing to trim and nothing informative to keep.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a write endpoint with an opaque free-form body, no output schema, and no parameter documentation anywhere, the definition is completely inadequate. An agent cannot determine eligibility, payload contract, or expected result from what is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, 'body', a free-form object with no schema description (0% coverage). The description supplies no explanation of what payload shape the wizard expects, so the agent cannot construct a valid call. With schema coverage this low, the description must compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal string "api_data_wizard_load_file_create" — an exact restatement of the tool name and title. It conveys no verb+resource beyond what the identifier already implies, and gives no hint of what the data wizard actually loads or what object the create call produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which of the hundreds of sibling endpoints is the alternative. An agent has no way to know whether this is the right entry point for a file-based import versus any other create/upload tool in the list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_attachments_batch_action_createApi document attachments batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, so the safety profile is largely covered. The description adds nothing beyond that: it never says which batch actions are supported, what payload or object IDs are required, or what the response contains — critical for a non-idempotent, non-read-only bulk operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no waste, but it is under-specified rather than concise — nothing is front-loaded because there is nothing substantive to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a bulk mutation tool with no output schema and an empty input schema, the description would need to explain the action set, identifiers, and result shape. None of that is present, leaving the agent unable to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero properties with additionalProperties=false, so per the rubric the baseline is high (0 params = 4). However, given that a real batch-action endpoint almost certainly needs an action name and object IDs, the description does nothing to reveal that the empty schema is a declaration gap rather than a genuinely parameterless call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence "Perform a batch action on multiple objects" restates the name/title without naming the resource (document attachments) or the action performed (delete, update, etc.). An agent reading only the description cannot tell this apart from the dozens of sibling *_batch_action_create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no reference to alternatives. With ~500 sibling tools, including one batch-action variant per model, the absence of any routing information is a serious gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_attachments_cascade_info_retrieveApi document attachments cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered. The word "preview" weakly implies a non-mutating what-if response, but the description says nothing about what the cascade set contains, whether it is scoped to a single attachment, or how large the result can be.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is only two words with a trailing colon, so nothing is wasted, but this is under-specification rather than conciseness. The colon implies truncated content that was never supplied.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool in a very large API surface with an undescribed required parameter and no output schema, the description supplies nothing an agent needs to invoke it correctly. A caller would have to probe the endpoint blind.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required `id` parameter has 0% schema description coverage, and the description provides no clue whether it is the document attachment id, a document id, or a parent object id. With the schema silent, the description fully fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment that essentially restates the name (cascade info retrieve) without a verb or stated resource. An agent cannot tell from this that it returns the downstream objects affected by a document attachment, nor how it differs from the sibling `..._cascade_info_retrieve` 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite, and no reference to alternatives such as `ciso_assistant_api_document_attachments_retrieve` or `..._object_retrieve`. The agent is left to guess the trigger condition entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_attachments_createApi document attachments createC
API endpoint for serving document attachment files.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint 'serves' document attachment files, which implies a read/retrieval operation, while annotations declare readOnlyHint=false and idempotentHint=false. With no request-body description for a write endpoint and no disclosure of auth, size limits, or side effects, the description both conflicts with the annotations and carries none of the behavioral burden for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no waste and no buried information. However, brevity here comes from under-specification rather than efficiency, and the wording actively muddles the action instead of clarifying it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-read-only, non-idempotent, open-world endpoint with no parameters and no output schema, the definition should at least state what is created and what comes back. Nothing is said about request content (a file? a link?), response shape, or which document the attachment belongs to, leaving the agent unable to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool declares zero parameters with additionalProperties=false and 100% schema coverage, so the baseline for empty-parameter tools applies. The description adds nothing about payload or filtering, but there is no schema gap to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'API endpoint for serving document attachment files' describes delivery/serving rather than the create action implied by the tool name, and gives no object-level detail. It does not distinguish this from siblings like document_attachments_file_retrieve, document_attachments_retrieve, or document_attachments_batch_action_create. An agent cannot tell what this endpoint actually creates or what input it expects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance whatsoever. Among ~30 sibling document-attachment endpoints, nothing indicates whether this is the upload path, a metadata-creation path, or something else. The only signal is the 'create' suffix in the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_attachments_destroyApi document attachments destroyDDestructiveIdempotent
API endpoint for serving document attachment files.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, but the description frames the endpoint as 'serving' files, i.e. a read. It says nothing about permanent deletion, cascading effects on parent documents, or permissions. This is a direct contradiction of the structured 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, but it is not merely terse — it is actively wrong, so brevity provides no benefit here.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, irreversible operation with an undocumented parameter and no output schema, the description omits everything an agent needs: that it deletes, what is removed, and what confirmation or permission is required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, and the description gives no indication of what the id refers to (attachment id? document id?) or its format. Minimal value added over the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (document attachment files) but uses the wrong verb: it says the endpoint is 'for serving' files, while the tool name and annotations indicate a destroy/delete operation. An agent reading only the description would conclude this is a download/retrieval endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many sibling tools (e.g. document_attachments_retrieve, document_attachments_file_retrieve, document_attachments_update). No mention of prerequisites, irreversible deletion, or conflicts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_attachments_file_retrieveApi document attachments file retrieveBRead-onlyIdempotent
Serve the attachment file with correct content type.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description's only added behavioral fact is that the response is the file body with a correct content type, which is genuinely useful since there is no output schema. It says nothing about large-file handling, missing-file behavior, or access control on the attachment.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, front-loaded with the verb and resource, with no padding. It is efficient, though its brevity contributes to the gaps in the other dimensions rather than reflecting a deliberate minimalism.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly states the return is the file with a proper content type, which is the key fact. It is still thin for a file-download endpoint: no mention that the id refers to a document attachment, no error semantics, and no permission prerequisites that would let an agent call it confidently on the first try.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required `id` parameter, so the description is the only place that could explain it — and it says nothing. An agent must guess whether `id` is the attachment id, the document id, or a revision id. Only the word 'attachment' in the description nudges toward the right interpretation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Serve the attachment file with correct content type" names a specific verb (serve) and resource (the attachment file), and implicitly distinguishes itself from the metadata-oriented siblings (document_attachments_retrieve / _object_retrieve) by returning the file payload rather than a record. It never names those siblings explicitly, but the binary-vs-metadata distinction is discernible.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer 'call this when you need the actual file bytes' rather than the JSON record. There is no explicit statement of when to prefer this over ciso_assistant_api_document_attachments_retrieve or _object_retrieve, and no prerequisites (auth on the attachment, permissions) are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_attachments_object_retrieveApi document attachments object retrieveCRead-onlyIdempotent
API endpoint for serving document attachment files.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description adds that the response is file content ('serving files'), which is useful, but says nothing about content type, size limits, authentication, or what happens with a missing/invalid id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no filler. It is efficient, though brevity here edges toward under-specification rather than crispness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should at least hint at the return shape (binary stream, redirect URL, or JSON envelope), and it does not. Combined with the undocumented id parameter, an agent cannot reliably predict what it will get back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter has 0% schema description coverage, so the description is the only place semantics could be supplied — yet it never says whether id refers to the attachment record, the parent document, or a revision. This is a real ambiguity for a lookup-by-id tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (serving) and resource (document attachment files), which tells the agent this returns file content rather than metadata. It does not distinguish itself from close siblings such as document_attachments_file_retrieve or document_attachments_retrieve, leaving the agent to guess which endpoint yields the actual file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when this should be used instead of the other document-attachment retrieval siblings, no prerequisites, and no note about what the caller must already know (e.g., that the id is an attachment id).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_attachments_partial_updateApi document attachments partial updateD
API endpoint for serving document attachment files.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and idempotentHint=false, i.e. a non-idempotent write, while the description says the endpoint serves attachment files, implying a read. That is an outright inconsistency, and no extra context (what is modified, permissions, side effects) is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is size-appropriate, but the one sentence carries no actionable information and is front-loaded with a boilerplate "API endpoint" phrase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent mutation with no output schema, no annotation-level detail in the description, and an undocumented required identifier, the definition is far too thin. An agent has no basis to call it correctly or to preview what it changes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (id) with 0% schema description coverage, and the description never mentions it. The 'id' key is undefined and the description does not state whether it is a document id, attachment id, or revision id — and a partial update with only an id and no updatable fields is itself unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description supplies a verb+resource ("serving document attachment files") but the verb is wrong for a tool named and annotated as a partial update. It reads like the definition for a retrieve/serve endpoint, so an agent cannot trust it to know what the tool actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of when not to use it. With siblings such as ciso_assistant_api_document_attachments_file_retrieve, _retrieve, _retrieve_2, _object_retrieve and _update present, the description offers nothing to route between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_attachments_retrieveApi document attachments retrieveCRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered externally. The description adds nothing behavioral—no return shape, no scope, no note that 'optimized data' means extra serializer fields—and its 'list method' phrasing pulls against the retrieve naming, though it does not directly 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is internal-engineering jargon that spends its words on implementation ('serializer context') instead of the front-loaded purpose an agent needs. Brevity here comes from omission, not discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, a 0-param read tool, and a dense sibling set, the description is the only place to explain what is returned and how it differs from the other document-attachment retrieve variants. It says none of that, leaving the definition functionally empty.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema carries no semantic load and the baseline of 4 applies. Nothing in the description is needed to interpret inputs, and nothing misleads about them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is a Django implementation comment ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does for a caller. It never names the resource being retrieved (document attachments) or what an agent would get back, and it even describes a 'list' method for a tool named 'retrieve', muddling the intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no mention of document attachments, no distinction from siblings like ciso_assistant_api_document_attachments_retrieve_2, object_retrieve, or file_retrieve, and no prerequisites. An agent has nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_attachments_retrieve_2Api document attachments retrieve 2CRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds one genuine behavioral fact beyond annotations: unauthorized related fields are masked in the response. However it does not say what happens on a missing/inaccessible id, nor whether masking cancels the whole request or just nulls fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, and the informative masking detail is present rather than buried. It is under-specified rather than bloated, but nothing in it is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter detail-fetch with no output schema, the description should at least say what entity is returned and how it relates to the download/file variant. Neither the object type nor the id semantics are covered, leaving the agent to guess among many similarly named tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single 'id' parameter, and the description gives no clarification. It is unclear whether the id is the attachment id, the parent document id, or a revision id — a distinction that matters given the several attachment-related siblings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns 'a single object' but never identifies the object as a document attachment record; the resource is only inferable from the tool name. It does not distinguish this from sibling retrievals such as ciso_assistant_api_document_attachments_retrieve, _object_retrieve, or _file_retrieve, so an agent cannot tell which one returns what.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the near-identical siblings (_retrieve, _object_retrieve, _file_retrieve) in the same family. No preconditions, no note on what kind of id is expected, and no exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_attachments_updateApi document attachments updateDIdempotent
API endpoint for serving document attachment files.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, so this is a mutating call, yet the description frames it as "serving" a file, which reads as a safe retrieval. That is a direct conflict rather than added context, and the description says nothing about what the update actually changes, permissions required, or what is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence that is technically front-loaded, so there is no bloat to trim; the problem is that the content is under-specified and wrong rather than verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter mutation with no output schema, the description should at minimum state what field/state is being updated and what the response contains. Instead it leaves the agent unable to distinguish this from the read/file-serving siblings, making the definition inadequate for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter `id` has 0% schema description coverage, and the description never explains whether it is the attachment id, the document id, or a parent record — the most important semantic question for this call. It does not compensate for the schema gap at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint for serving document attachment files" describes a retrieval/serving action, but the tool is named and titled "update", so the stated purpose doesn't match the operation being invoked. It also fails to distinguish this tool from the many document-attachment siblings (e.g. ciso_assistant_api_document_attachments_file_retrieve, _retrieve, _partial_update).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no alternatives named, and no prerequisites. Worse, the single sentence points an agent toward reading/serving a file, which is the opposite of what an update tool should be selected for.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_approve_createApi document revisions approve createA
Approve a revision: transition from in_review to validated.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare that this is a non-read-only, non-destructive, non-idempotent operation. The description adds meaningful state-machine context by specifying the source and target statuses, though it omits permission requirements and failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. The action and state transition are communicated immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple state-transition action with annotations covering the safety profile and no output schema, the description supplies the essential call context. The only notable gap is that the id parameter remains undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required id parameter with 0% schema description coverage. The description implies the id identifies the revision to approve, but adds no format or validation detail beyond that implication.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (approve), resource (revision), and exact state transition (in_review to validated). It clearly distinguishes this action from sibling revision actions such as request_changes, submit_for_review, or publish.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The required precondition is explicit: the revision must be in_review, and the action results in validated. It does not explicitly name alternatives or explain what to do if the revision is not in_review, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_batch_action_createApi document revisions batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true). The description adds only that it is a batch action on multiple objects, with no disclosure of what action is performed, how partial failures are handled, or what permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. Its brevity is not the issue; the problem is that the content is under-specified, but the sentence itself is structurally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a batch action tool on document revisions, the description omits the resource, the action type, and any behavioral context needed to invoke it correctly. With no output schema and an empty input schema that provides no hints, the description carries the full burden and falls significantly short.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
This tool has zero parameters, so the baseline is 4. The description does not need to explain parameter semantics, and the empty schema means there is no parameter documentation gap to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only "Perform a batch action on multiple objects," which essentially restates the tool name's generic "batch action" concept without identifying the actual resource (document revisions) or the action semantics. It does not distinguish this tool from the many sibling batch_action_create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or which alternatives to consider. An agent has no way to route between this and the numerous other batch action tools based on the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_cascade_info_retrieveApi document revisions cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so safety is covered. The description adds only the word 'preview' and does not disclose what the cascade preview includes, what scope the id controls, or whether any dependent-object information is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but this is under-specification rather than useful conciseness. A two-word fragment does not front-load any actionable information for the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, no parameter description, and no explanation of the return value or preview semantics. Given the low schema coverage and the agent's need to decide among many similar tools, the description is far too incomplete to support correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, so the description must compensate. It says nothing about what 'id' identifies (e.g., a document revision) or how it affects the cascade preview.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only 'Cascade preview:' and never names document revisions or explains what a cascade preview contains. It gestures at the cascade concept but does not state a specific verb/resource combination that would distinguish it from the many sibling cascade_info_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or which alternatives to prefer. The presence of many sibling tools named '*_cascade_info_retrieve' makes the lack of routing guidance especially costly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_createApi document revisions createC
API endpoint that allows document revisions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is known. The description adds nothing beyond that — it does not say what a revision contains, what happens to prior revisions, or what permissions/locking state are required, despite "viewed or edited" implying read semantics for a write endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is concise and front-loaded, but the brevity comes from under-specification rather than economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an unconstrained object body, no output schema, and heavy sibling competition, the description leaves the agent unable to construct a valid call or predict the result. It would need to explain the payload shape and where it sits in the revision workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter is an opaque free-form `body` object with 0% schema description coverage and no documentation in the description. An agent has no way to learn what payload fields (document id, content, version metadata) a revision creation requires.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates a generic DRF docstring ("allows document revisions to be viewed or edited") rather than stating that this endpoint creates a document revision. It never distinguishes creation from the many sibling operations (list, retrieve, partial_update, approve, publish, submit_for_review), and the words "viewed or edited" actually misdirect away from a create action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to create a revision versus using the workflow siblings such as start_editing, submit_for_review, or publish. The only implicit cue is the word "create" in the tool name, which is not a usage rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_destroyApi document revisions destroyDDestructiveIdempotent
API endpoint that allows document revisions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=true, yet the description describes this as an endpoint that allows revisions to be 'viewed or edited'. That directly misrepresents a destructive delete operation, including no disclosure of permanence or cascade effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, so there is no verbosity, but the sentence is under-specified and mischaracterizes the operation. Brevity does not earn credit when the content is wrong.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent-by-name operation with no output schema and an undocumented id parameter, the description should state the deletion target and consequences. Instead it supplies a misleading summary that leaves the agent unable to call it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required `id` parameter with 0% schema description coverage, and the description says nothing about what the identifier refers to (revision id vs document id) or its format. No value is added beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names the resource (document revisions) but the stated verbs are 'viewed or edited', which is not what a `destroy` endpoint does. An agent reading only the description would mistake this for a read/update tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no mention of alternatives among the many sibling revision tools (list, retrieve, partial_update, update). Worse, the described read/edit framing actively points away from the actual delete use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_diff_retrieveApi document revisions diff retrieveARead-onlyIdempotent
Compute unified diff between this revision and another of the same document.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| other_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, and non-destructive behavior. The description adds the useful constraint that the two revisions must belong to the same document, but it does not disclose return format, error behavior, or any authorization requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with the core action front-loaded and zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only diff tool with annotations and no output schema, the description covers the core action and the same-document constraint. It still omits useful context such as the return format (unified diff text) and failure conditions when revisions belong to different documents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It clarifies that `id` is 'this revision' and `other_id` is 'another' revision of the same document, which adds relational meaning, but it does not explain accepted ID formats or whether these are revision IDs versus document IDs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Compute unified diff' between revisions of a document. It is clear what the tool does, though it does not explicitly differentiate itself from the sibling `document_revisions_edit_diff_retrieve` or explain how that diff differs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case—comparing two revisions of the same document—and states the constraint that `other_id` must belong to the same document. However, it gives no explicit when-to-use guidance, no alternatives, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_edit_diff_retrieveApi document revisions edit diff retrieveBRead-onlyIdempotent
Compute unified diff between two DocumentEdit content snapshots.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| edit_a_id | Yes | ||
| edit_b_id | Yes |
TDQS
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 output shape (unified diff), which is useful, but says nothing about failure modes when an edit id is missing or whether cross-document edits 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler; the operation and its operands come first. Nothing redundant and nothing that merely restates the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does specify the return format (unified diff), which is the key missing piece filled in. However, for a 3-param tool with 0% schema coverage it leaves an agent unsure where edit ids come from (edit_history_retrieve / edit_snapshot_retrieve) and what 'id' refers to.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so all three params (id, edit_a_id, edit_b_id) are bare strings. The description only implies that the two edit_* params are DocumentEdit snapshots; it never clarifies that 'id' is the document/revision identifier nor the ordering semantics (a vs. b) used to render the diff.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (compute unified diff) and a specific resource (two DocumentEdit content snapshots), which is meaningfully narrower than the sibling document_revisions_diff_retrieve (revision-level diff). It does not explicitly name that sibling or explain edits vs. revisions, so differentiation is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance, and no alternatives named among the many revision/edit siblings (edit_snapshot_retrieve, edit_history_retrieve, diff_retrieve). The agent must infer the use case from the single sentence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_edit_history_retrieveApi document revisions edit history retrieveCRead-onlyIdempotent
Return the edit history for this revision.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, covering the safety profile. The description adds virtually no behavioral context beyond restating that it returns history—it does not describe pagination, ordering, whether output includes authors/timestamps, or any permissions or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or repetition. It is efficient, though its brevity contributes to the gaps in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter retrieval tool, the description communicates the basic operation, and annotations already cover safety and idempotency. However, without an output schema, it should say more about what the edit history contains or how the id should be supplied, 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single `id` parameter is undocumented in both schema and description. The phrase 'this revision' weakly implies the id identifies a revision, but no format, type, or example is provided to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: returning the edit history of a revision. It is clear enough to distinguish this from sibling operations such as diff, snapshot, or update, though it does not explicitly name any sibling or clarify what 'this revision' refers to beyond the required id parameter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives like edit_diff_retrieve or edit_snapshot_retrieve. It only states the basic purpose, leaving the agent to infer the selection context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_editing_status_retrieveApi document revisions editing status retrieveCRead-onlyIdempotent
Check who is currently editing.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds little behavioral context beyond the bare query intent: it does not describe what editing status is returned, whether editor identity is included, or how it relates to editing sessions. With no output schema, this is a notable omission.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no wasted words, and it is front-loaded. However, its extreme terseness leaves critical semantics unexplained, so it is concise but undersized for the available context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read endpoint with no output schema and one undocumented parameter, the description should at least identify what 'id' refers to and what the response contains. It provides neither, and it does not connect to the sibling editing tools, so an agent lacks the context needed to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'id' has 0% schema description coverage, and the description does not explain what it identifies. An agent cannot tell whether it is a document revision ID, a document ID, or a user ID from the description. This fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action, 'Check who is currently editing,' which implies a read-only status query for an editing session. However, it never identifies the resource as a document revision and does not distinguish this from siblings like start_editing, stop_editing, or take_over_editing. The purpose is inferable but vague without the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus related editing endpoints such as start_editing, take_over_editing, or edit_history. The word 'currently' weakly implies a point-in-time status check, but no alternatives or preconditions are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_edit_snapshot_retrieveApi document revisions edit snapshot retrieveCRead-onlyIdempotent
Return the content snapshot of a specific edit.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| edit_id | Yes |
TDQS
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 covered. The phrase 'content snapshot' adds a little context about what is returned (a snapshot rather than a diff), but nothing about size, historical immutability, or permission requirements for accessing edit snapshots.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though the brevity borders on under-specification rather than tightness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read tool with 0% schema description coverage and no output schema, the description should at minimum disambiguate the two identifiers. As written, an agent can only guess how to construct a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and neither parameter is documented, so the description must compensate and does not. It never explains what 'id' refers to versus 'edit_id'—presumably document vs edit, but that is left to guesswork.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb plus resource: return the content snapshot of a specific edit. An agent knows what it retrieves, though it does not distinguish this from related siblings like edit_diff or edit_history in the same namespace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus edit_diff, edit_history, or the generic revision retrieve. No prerequisites, no exclusions, no routing cues; the agent must infer from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_export_pdf_retrieveApi document revisions export pdf retrieveCRead-onlyIdempotent
Export revision content as a PDF document.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 output is a PDF document, which is real value, but it does not say how the PDF is delivered (binary stream, base64, or download URL) — a critical behavior for a file-export tool where no output schema exists to clarify.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler — verb, resource, and format in order. It is efficient, though its brevity is part of the under-specification problem rather than a virtue in itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a file-export endpoint with one undocumented parameter and no output schema, the description should at minimum identify what the id refers to and what form the PDF response takes. Neither is present, leaving the agent unable to call the tool correctly without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single 'id' parameter, so the description must carry the burden. It never states whether 'id' refers to the revision ID, the document ID, or the managed document ID, leaving the most important ambiguity for this call unresolved.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Export') and resource ('revision content') plus the output format (PDF document), so an agent knows this produces a PDF export of a revision. It does not, however, distinguish itself from adjacent siblings such as document_revisions_diff, edit_history, or retrieve, nor clarify whether the exported content is the revision snapshot or the rendered managed document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose this over the many sibling read tools (diff_retrieve, edit_history_retrieve, retrieve). No prerequisites, permissions, or conditions are mentioned. 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.
ciso_assistant_api_document_revisions_listApi document revisions listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| document | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds no behavioral context beyond a vague hint that returned data is 'optimized'/enriched in the serializer context; it says nothing about pagination, filtering behavior, or result shape. Not contradictory, but nearly empty of added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but the brevity comes from under-specification rather than efficiency: the one sentence describes an internal serializer override and contributes nothing an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter list endpoint with no output schema, the definition is far too thin. The only mitigation is that annotations signal it is a safe read-only, idempotent, paginated-style list operation, which lets an agent guess at basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Eight parameters (id, limit, offset, search, status, document, ordering, max_pages) have 0% schema description coverage and the description explains none of them. With zero structured documentation, the description carries the full burden here and provides nothing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does. Only the tool name hints that this lists document revisions; the description itself never names the resource, the return shape, or how it differs from sibling revision tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no reference to alternatives, despite many closely related siblings (document_revisions_retrieve, object_retrieve, cascade_info_retrieve, diff_retrieve). An agent gets no help deciding between a list call and a single-object retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_object_retrieveApi document revisions object retrieveCRead-onlyIdempotent
API endpoint that allows document revisions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true and destructiveHint=false, but the description claims the endpoint allows revisions to be 'viewed or edited', which suggests a write capability this tool does not have. Apart from that, it adds no behavioral context such as permission requirements or what a revision record contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, but that brevity comes from generic boilerplate rather than deliberate front-loading, and the misleading 'or edited' clause is the only content beyond the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Placeholder: not used.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single `id` parameter has 0% schema description coverage, and the description does not compensate: it never states that `id` is the document revision identifier, nor its format (UUID vs integer). An agent must guess where to obtain the value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint allows document revisions to be 'viewed', which implies a single-object read, but the boilerplate 'or edited' muddies whether this is a read or a write tool. Several siblings exist (document_revisions_retrieve, document_revisions_list, document_revisions_object_retrieve), and nothing distinguishes this one from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus document_revisions_retrieve, document_revisions_list, or document_revisions_object_retrieve. No prerequisites (e.g., needing a revision ID from the list endpoint) are mentioned, so the agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_partial_updateApi document revisions partial updateC
API endpoint that allows document revisions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false. The description adds nothing about mutation semantics, auth/permission requirements, or what a partial update does to unspecified fields — and its 'viewed' phrasing blurs rather than clarifies the write behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so it is concise, but its brevity comes from saying almost nothing rather than from being well-targeted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an undocumented free-form payload, no output schema, and dozens of same-resource siblings, the description leaves the agent without the information needed to call it safely or to choose it over alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description supplies no parameter information at all. The 'body' parameter is an unconstrained free-form object with a null default, which is exactly the case where the description needed to explain expected payload shape, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title almost verbatim ('document revisions ... viewed or edited') without naming the operation. It never says this is a partial update (PATCH) of an existing revision, and 'viewed or edited' describes two different capabilities that belong to sibling tools (retrieve/update).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives, despite many close siblings (document_revisions_update, _partial_update, _retrieve, _create, _submit_for_review, _publish). The agent must infer the selection from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_publish_createApi document revisions publish createB
Publish a validated revision: deprecate previous, generate PDF.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (not read-only, not destructive, not idempotent), so the bar is lower, and the description adds genuinely new consequences: the previous revision is deprecated and a PDF is generated. It still omits reversibility, error behavior on non-validated revisions, and permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the action and both side effects front-loaded; no filler. Slightly telegraphic phrasing ('deprecate previous') leaves the object implicit.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating publish operation in a dense cluster of near-identical revision lifecycle tools (approve, submit_for_review, request_changes), the description covers the outcome but leaves the id semantics and the ordering versus sibling lifecycle steps unspecified, and there is no output schema to fall back on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter. The description never clarifies whether this id refers to the revision, the document, or the managed document, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (publish a revision) plus the precondition that the revision must be validated, which distinguishes it from the approve/review siblings. It does not explicitly name those neighbors, but the action is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Publish a validated revision' implies the precondition (a revision that has already been validated/approved) but never states when to prefer this over approve, submit_for_review, or request_changes, nor what happens if the revision is not validated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_request_changes_createApi document revisions request changes createA
Request changes on an in-review revision.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnly=false, destructive=false, idempotent=false and openWorld=true, so the safety profile is covered. The description adds the useful state precondition ('in-review'), but is silent on what actually changes (status transition, whether a rejection reason or reviewer identity is recorded) — notable because the schema carries only an id and no message field.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with the state precondition front-loaded and zero filler. Nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter action endpoint with annotations present and no output schema, the definition is minimally viable. It nonetheless omits the outcome of the transition and any permission/reviewer-role requirement, which an agent executing a review workflow would want.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single 'id' parameter. The description indirectly ties it to a revision ('on an in-review revision'), which is some compensation, but it never states that the id is the revision identifier (versus a document id) or what format it takes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Request changes') and resource ('revision') plus a state qualifier ('in-review'). An agent can distinguish it from approve/submit_for_review/publish siblings by name, but the description itself never names an alternative or explicitly contrasts them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'on an in-review revision' implies the valid state precondition and thus when the call applies. However, it never states the alternative actions (approve, submit_for_review, publish) or what to do if the revision is not in review, leaving the agent to infer the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_retrieveApi document revisions retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive, and openWorld, so the safety profile needs no restating. The one genuine addition is that unauthorized related fields are masked in the response, which tells the agent to expect partial data. It does not cover error behavior (e.g., missing id) or what 'related fields' means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with zero padding, and the masking caveat is front-loaded. It is terse rather than bloated, though the terseness comes at the cost of substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a lookup tool with one undocumented identifier, no output schema, and numerous near-duplicate sibling retrievers, the description should at minimum state the resource and which id is expected. Instead it leaves the agent to infer both.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter 'id' with 0% schema description coverage, and the description does not clarify whether it is a revision id, document id, or object UUID. Unlike a zero-parameter tool, the burden falls on the description here and it is unmet.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Return a single object', which restates the retrieve verb in the title without naming the resource or what a document revision actually is. An agent reading only the description cannot tell that this fetches a specific document revision by id; the resource identity comes entirely from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many siblings such as document_revisions_object_retrieve, document_revisions_list, or the diff/history retrievers. No prerequisites, no conditions, no exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_start_editing_createApi document revisions start editing createC
Mark the current user as editing this revision.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false and destructiveHint=false, so safety profile is covered. The description adds that the current user becomes the editor, implying lock acquisition, but says nothing about conflict behavior if another user is already editing, lock expiry, or whether it fails or steals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though the brevity comes at the cost of the missing context noted elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a state-changing lock operation with no output schema and an undocumented parameter, the description should at least cover the conflict/failure case and the effect on other editors. As written, an agent cannot predict what happens when someone else already holds the edit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% — the single parameter is an undescribed string 'id'. The phrase 'this revision' weakly implies the id is the revision identifier, but format (UUID/int) and whether it is the revision id versus the document id is not stated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Mark') with an explicit object ('the current user') and resource ('this revision'), so the effect is unambiguous. It doesn't explicitly name sibling operations like stop_editing or take_over_editing, but the name plus sentence makes the distinction inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus stop_editing, take_over_editing, or editing_status. The agent must guess whether to acquire the edit lock, check the status first, or take over an existing lock.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_status_retrieveApi document revisions status retrieveCRead-onlyIdempotent
API endpoint that allows document revisions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, yet the description says the endpoint 'allows document revisions to be viewed or edited.' Claiming edit capability for an endpoint annotated read-only is a direct contradiction, and the description adds no other behavioral context (e.g. that it is a metadata/choices lookup).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is technically concise. However, the brevity comes at the cost of substance — the one sentence is boilerplate that conveys no tool-specific information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and no output schema, the description is the only source of information about what this endpoint returns, and it does not say. For a 'status' enumeration endpoint, an agent needs to know it yields the allowed status values for document revisions; that is entirely absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so the empty schema is fully self-explanatory and the description has no parameter burden to carry. Baseline 4 applies for a zero-parameter definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title ('document revisions') with a vague generic verb phrase 'viewed or edited' that never says this endpoint returns the set of available status values for document revisions. It does not distinguish this tool from sibling endpoints such as ciso_assistant_api_document_revisions_retrieve, _editing_status_retrieve, or _list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no preconditions, and no mention of any alternative tool. An agent has no basis for choosing this over the many other document-revision endpoints beyond guessing from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_stop_editing_createApi document revisions stop editing createC
Release the editing lock.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds the behavioral consequence (a lock is released) but says nothing about what happens if the caller does not hold the lock, whether other editors are affected, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded sentence with zero padding. Efficiency is good, though the extreme terseness is part of why so much is left unspecified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a state-changing, non-idempotent lock operation with an undocumented id parameter and no output schema, one sentence is not enough. Nothing explains the lock lifecycle, failure modes, or what the call returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions the single required parameter. An agent must infer that 'id' is a document revision id rather than a document, user, or lock id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete verb and object ('Release the editing lock'), which adds real meaning beyond the machine-generated name. It does not, however, tie the lock to document revisions or distinguish it from the sibling take_over_editing/start_editing tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus ciso_assistant_api_document_revisions_start_editing_create, take_over_editing_create, or editing_status_retrieve. The only cue is the implicit 'you were editing, now stop', with no error/precondition guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_submit_for_review_createApi document revisions submit for review createB
Transition from draft or change_requested to in_review.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the mutation profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=true). The description adds the meaningful state-machine semantics — the accepted source states and the resulting target state — but says nothing about side effects (notifications, reviewer assignment), permission requirements, or error behavior on invalid transitions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with zero filler, and the transition target is front-loaded. It is efficient but borders on under-specification rather than maximal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a state-transition mutation with no output schema, the description leaves out identifiability of the id, the consequences of the transition, failure modes when the revision is in an incompatible state, and permission requirements. The state names alone are not enough context for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is never mentioned in the description. The agent must guess that 'id' is the document revision identifier rather than a document, folder, or user id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete state-machine action: transitioning a document revision from 'draft' or 'change_requested' into 'in_review'. That is far more specific than the tool name alone and lets an agent infer the resource is a document revision; it stops short of a 5 because it never names the resource type or distinguishes itself from the adjacent transitions (approve, request_changes, publish).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The source states ('draft or change_requested') implicitly define when the call is applicable, which is useful precondition context. However there is no guidance on when to prefer this over sibling actions such as request_changes or approve, and no statement about what to do if the revision is in another state.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_take_over_editing_createApi document revisions take over editing createA
Force-acquire the editing lock, overriding the current editor.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a non-readonly mutation, and the description adds the one behavioral fact annotations cannot convey: that the lock is taken away from an existing editor. It does not explain what happens to that editor's unsaved work, whether they are notified or errored, or what permissions are needed, so it falls 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the core verb ('Force-acquire') front-loaded and the override consequence appended. No filler, nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation with no output schema and an undocumented parameter, the description covers intent and the override effect but omits preconditions, required permissions, the fate of the displaced editor, and the response shape. Adequate but clearly incomplete for a lock-stealing operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter 'id' is completely undocumented in both schema and description. It is not clear whether 'id' refers to the document revision id or the parent document id, which is a consequential ambiguity for this endpoint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb-and-resource pair ('Force-acquire the editing lock') and clarifies it with 'overriding the current editor', which separates it conceptually from start_editing and stop_editing siblings. It never names those siblings, but the operation itself is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Force-acquire' implies the tool is for when the lock is already held by someone else, but the description never says that explicitly or points to start_editing as the normal path. Usage is inferable rather than stated, and no prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_document_revisions_updateApi document revisions updateCIdempotent
API endpoint that allows document revisions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true. The description adds no behavioral context beyond those hints—no permission requirements, no note about what the update affects, and the word 'viewed' is imprecise for an update endpoint. It does not contradict the annotations, but it contributes almost nothing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence and front-loaded, so it is concise. However, the brevity comes at the cost of clarity, since it spends its words on a vague 'viewed or edited' phrasing rather than a precise update statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation endpoint with no output schema and 0% schema description coverage. The description does not compensate by explaining what an update changes, what the body should contain, or how it differs from partial_update, so an agent lacks the information needed to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema only names 'id' and 'body' with no meaning attached. The description does not explain that 'id' identifies the revision or what the 'body' object contains, leaving both parameters semantically undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (document revisions) and implies editing, but 'viewed or edited' conflates a mutation endpoint with read operations. It does not distinguish this update tool from the adjacent partial_update, retrieve, or list endpoints, leaving the agent to infer the exact action from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this update endpoint rather than partial_update, retrieve, or the many other document-revision siblings. The description provides no conditions, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_attack_paths_batch_action_createApi ebios rm attack paths batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true; the description adds nothing beyond that. It does not say whether the operation is reversible, whether it is atomic across the batch (partial failure behaviour), what permissions or object scope are required, or how many objects can be processed per call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence is technically concise, but it is under-specified rather than efficient — there is no wasted text because there is almost no text. Nothing is front-loaded beyond a generic restatement, so the sentence does not earn its place as usable guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, non-read-only mutation endpoint with no output schema, an empty input schema, and only generic annotation hints, the description should carry the burden of explaining how objects are selected and what the batch does. It provides none of that, leaving an agent unable to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters (additionalProperties=false), so a baseline of 4 would normally apply and there is no parameter schema text to compensate for. However, a 'batch action on multiple objects' by definition requires object identifiers and an action selector, so the empty schema is itself a semantic gap the description should explain (e.g. how the batch payload is supplied); it is silent on this, which undercuts the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the name almost verbatim ('batch action on multiple objects') without naming the resource (EBIOS RM attack paths) or the action being applied. An agent cannot tell from this sentence what a 'batch action' does — update, delete, duplicate, or state change — nor how it differs from the sibling list at the same path (e.g. ciso_assistant_api_ebios_rm_attack_paths_list or _destroy).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this batch endpoint versus the single-object endpoints (partial_update/update/destroy) that also exist for attack paths, and no prerequisites or prerequisites about payload shape. The agent must guess from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_attack_paths_cascade_info_retrieveApi ebios rm attack paths cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds nothing beyond that — it doesn't explain what the "cascade" output contains, what the preview implies (e.g., effects of a deletion), or how the traversal is scoped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but that brevity comes from under-specification rather than efficiency; a trailing colon suggests truncated content. There is no front-loaded statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a retrieval tool with an undocumented id parameter, no output schema, and no explanation of the cascade semantics. Practically nothing an agent needs in order to call it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is exactly one required parameter (id) with 0% schema description coverage, and the description says nothing about what the id identifies or what format it takes. With low coverage the description must compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment "Cascade preview:", which merely echoes part of the tool name rather than stating a verb and resource. It never says what is being retrieved for an EBIOS RM attack path, nor how it differs from the many sibling cascade_info_retrieve endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus attack_paths_retrieve, attack_paths_list, or object_retrieve, and no prerequisites or exclusions are mentioned. The caller is left to infer everything 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.
ciso_assistant_api_ebios_rm_attack_paths_createApi ebios rm attack paths createD
api_ebios_rm_attack_paths_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that – no mention of required parent objects (study, kill chain, elementary action), side effects, or that the body shape is unvalidated. With annotations carrying the burden, this is a minimal-but-not-zero score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token with zero wasted words, but this is under-specification rather than conciseness. Front-loading is impossible because there is no content beyond the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation endpoint with an open-ended request body and no output schema, and the description explains none of it. An agent cannot call this correctly without external knowledge of the EBIOS RM attack path model.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter, 'body', documented at 0% schema coverage as a free-form object with additionalProperties true and default null. The description provides no field names, structure, or required keys, so the agent has no way to construct the payload from the definition alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool identifier repeated verbatim ('api_ebios_rm_attack_paths_create'), which is a tautology rather than an explanation. An agent can only infer the purpose from parsing the name itself (create an attack path in the EBIOS RM module), and gets no statement of what an attack path contains or how it relates to siblings like kill_chains or elementary_actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to create an attack path versus using a sibling such as ciso_assistant_api_ebios_rm_attack_paths_batch_action_create, update, or operating_modes_save_graph_create. No prerequisites, no exclusions, no context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_attack_paths_destroyApi ebios rm attack paths destroyDDestructiveIdempotent
api_ebios_rm_attack_paths_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered externally. The description adds nothing beyond that — no statement about what gets removed, whether dependent kill chains or operating modes are affected, or what a successful delete returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token, so nothing is verbose, but that is under-specification rather than conciseness. There is no front-loaded verb phrase or scope statement to orient the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, open-world delete on a domain-specific EBIOS RM resource with an undocumented id and no output schema deserves at least a sentence on what is deleted and how to identify it. Annotations carry the safety profile, but the domain context is missing entirely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is a bare string. The description does not clarify that this is the attack path's identifier (versus a study id or ref_id), leaving the one parameter the agent must supply entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool's snake_case name repeated verbatim, so the only semantic information comes from parsing the identifier itself ('destroy' + 'attack paths'). It does not state in prose that it deletes an EBIOS RM attack path, and it never distinguishes this from sibling destroy endpoints such as attack_paths_partial_update or feared_events_destroy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is mentioned. An agent must infer entirely from the name that this is the deletion counterpart to attack_paths_create/attack_paths_update, with no guidance on prerequisites or irreversibility.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_attack_paths_listApi ebios rm attack paths listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| used | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| is_selected | No | ||
| stakeholders | No | ||
| ebios_rm_study | No | ||
| strategic_scenario | No |
TDQS
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, openWorldHint=true), so the bar is low, but the description adds no agent-relevant behaviour: no pagination semantics despite limit/offset/max_pages, no ordering defaults, no note that the serializer context optimisation changes the payload shape. 'Inject optimized data into the serializer context' is internal plumbing, not disclosed behaviour.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not bloated, but it is under-specified rather than concise: the one sentence spends its words on an implementation detail that no caller can act on, and there is no front-loaded statement of what the call returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An 11-parameter, zero-required, read-only list endpoint with no schema descriptions and no output schema requires the description to carry the burden of filter meaning and result shape. It provides none, leaving an agent unable to construct a meaningful query or interpret the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
11 parameters with 0% schema description coverage and the description mentions none of them — id, used, limit, offset, search, ordering, max_pages, is_selected, stakeholders, ebios_rm_study, strategic_scenario are all left as untyped, undocumented anyOf slots. The description does nothing to compensate for the total coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text 'Override the list method to inject optimized data into the serializer context' is a Django docstring about internals; it never states that the tool lists EBIOS RM attack paths, what fields they hold, or how the result differs from the sibling attack_paths_retrieve/object_retrieve tools. The only hint of purpose is the word 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of when to prefer attack_paths_retrieve or attack_paths_object_retrieve, and no prerequisites or filtering intent. The sentence addresses framework behaviour, not agent decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_attack_paths_object_retrieveApi ebios rm attack paths object retrieveDRead-onlyIdempotent
api_ebios_rm_attack_paths_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered without the description. The description adds nothing at all — no note on whether the object is scoped to a folder/perimeter, what authorization is needed, or what happens on a missing id — so the lower bar for annotated tools is only barely met.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is no wasted sentence because there is essentially no content; the failing is under-specification rather than verbosity. The one identifier string is neither front-loaded information nor a structured description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a 0%-covered parameter, no output schema, and dozens of confusable sibling endpoints, the description leaves everything an agent needs unresolved: what entity is returned, what the id is, and how this differs from the plain '_retrieve' variant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the schema does not say whether this is a numeric PK, a UUID, or a ref_id. The description provides no compensating explanation, leaving the agent to infer the identifier type entirely on its own.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool's internal name restated ('api_ebios_rm_attack_paths_object_retrieve') with no plain-language verb or resource explanation. An agent learns only that something is retrieved from some EBIOS RM attack-paths endpoint, and 'object_retrieve' versus sibling 'retrieve'/'list'/'cascade_info_retrieve' is not disambiguated anywhere.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this tool, when not to, or how it relates to the many sibling attack-paths tools (list, retrieve, object_retrieve, cascade_info_retrieve, batch_action_create). The agent must guess which of the near-identical retrieve variants to call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_attack_paths_partial_updateApi ebios rm attack paths partial updateD
api_ebios_rm_attack_paths_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false, but the description adds no behavioral context beyond that. It does not explain mutation semantics, required permissions, or what changes are applied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single generated identifier, so it is not verbose, but it is severely under-specified rather than appropriately concise. It leaves the agent with no substantive information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a partial-update mutation with an opaque body parameter and no output schema, the description is completely inadequate. It does not explain what fields can be updated or what the operation returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for two parameters, including an opaque 'body' object with no field documentation. The description provides no parameter meaning at all, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the operation identifier 'api_ebios_rm_attack_paths_partial_update', which restates the tool name rather than explaining the action in human terms. It does not distinguish this partial-update operation from sibling attack-path tools such as create, retrieve, or update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this partial-update tool versus the full update, create, retrieve, or other EBIOS RM attack-path operations. The description gives no context, exclusions, or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_attack_paths_retrieveApi ebios rm attack paths retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, non-destructive and openWorld, so the safety profile is free. The description adds one genuinely useful behavioral fact — that fields on related objects are masked based on authorization — which an agent would not know otherwise, but it says nothing about 404/403 behavior for missing or inaccessible ids.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler, but the brevity comes at the cost of under-specification rather than tightness — the sentence describes output shape instead of the tool's job.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read with annotations and no output schema, the description is roughly sufficient to call it, but ambiguous against similarly named siblings on the same resource. The masking note is a plus; the missing id format and error semantics are the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description never mentions the sole required parameter 'id'. It does not say whether the id is an integer, UUID, or ref_id, which directly affects whether a call will succeed in this DRF-style API.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the return shape ('a single object') but never names the resource it retrieves; the attack-path subject is only inferable from the tool name. It also fails to distinguish this from the sibling ciso_assistant_api_ebios_rm_attack_paths_object_retrieve, which appears to do something similar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the sibling list, object_retrieve, or cascade_info endpoints for the same resource. The reader must infer that this is the standard per-id detail fetch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_attack_paths_updateApi ebios rm attack paths updateDIdempotent
api_ebios_rm_attack_paths_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, idempotent=true, destructive=false, openWorld=true, so the safety profile is known, but the description adds zero context: no permissions required, no note on which fields update, no side effects (e.g. recalculation of risk) and no note that body is optional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness; the single token carries no information an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with a free-form body, no output schema, and no param documentation needs substantial description; here nothing is provided beyond the name, so the definition is effectively unusable without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters have 0% schema description coverage and the description supplies nothing – 'id' is undefined (string id of what?) and 'body' is an untyped free-form object with no field hints, leaving an agent unable to construct a valid request.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name with underscores spaced out, restating 'api ebios rm attack paths update' verbatim. It never says what an attack path is, what 'update' changes, or how it differs from the sibling _partial_update and _create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the required id, and no differentiation from sibling ciso_assistant_api_ebios_rm_attack_paths_partial_update or _create, which an agent cannot distinguish from this entry.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_elementary_actions_attack_stage_retrieveApi ebios rm elementary actions attack stage retrieveCRead-onlyIdempotent
api_ebios_rm_elementary_actions_attack_stage_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered structurally. The description adds no behavioral context at all — not the response shape, not whether a lookup key or filter is required (there are no parameters), and not how the attack-stage payload is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not concise in a useful sense: the single string is a repetition of the tool name and carries no front-loaded intent. This is under-specification rather than economy of words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no parameters, so the description is the only place an agent could learn what this endpoint returns about an elementary action's attack stage. It supplies none of that, leaving the caller with no way to know what payload to expect or how to interpret it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and schema coverage is 100%, so there is nothing for the description to disambiguate. Baseline for a parameterless tool applies, though the absence of any parameter also means the description could have explained how the record is selected, which it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's identifier restated verbatim, so it is essentially a tautology. The name does encode a retrievable field ('attack_stage') on the 'elementary_actions' resource within EBIOS RM, so a reader can infer the general area, but nothing states what the tool actually returns or how it differs from sibling endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is mentioned. The sibling set includes ciso_assistant_api_ebios_rm_elementary_actions_retrieve, _list, and _object_retrieve, and the description gives no basis for choosing between retrieving an attack stage versus the full elementary action record.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_elementary_actions_batch_action_createApi ebios rm elementary actions batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnly=false, destructive=false, idempotent=false, openWorld=true. The description adds nothing: it does not say which actions a "batch action" can carry (delete, update field, assign), whether the request is atomic, or what happens to objects that fail. For a non-idempotent, non-read-only operation the description carries little of the burden it should.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, so nothing is wasted, but that is because almost nothing is said. Front-loading is moot when the only content is a generic verb+object phrase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating, non-idempotent, open-world batch endpoint with an empty input schema and no output schema, the agent is missing the essentials: what actions exist, how objects are selected, and what the response reports. None of that is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters and closes the object with additionalProperties=false, so per the 0-param rule the baseline is 4; however, the description does not address the obvious puzzle of how target object IDs and the action itself are conveyed to a batch endpoint that accepts no body. It neither explains nor excuses the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Perform a batch action on multiple objects" restates the tool name's own words and never names the resource being acted on (EBiOS-RM elementary actions). With hundreds of sibling `*_batch_action_create` tools sharing this exact phrasing, an agent cannot tell this one apart from `assets_batch_action_create` or `findings_batch_action_create` without decoding the raw tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternatives (e.g. single-object update/partial_update/destroy endpoints for the same resource), and no prerequisites. The description gives the agent no basis for choosing this tool over the per-object endpoints in the same family.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_elementary_actions_cascade_info_retrieveApi ebios rm elementary actions cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing on top: it does not say what 'cascade' means, what the preview returns, or how costly/expensive the call is. 'Preview' hints at a dry-run flavor but is never confirmed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words are technically concise but this is under-specification, not conciseness — there is no front-loaded statement of purpose. Nothing in the fragment earns its place because it conveys almost no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A tool with a compound, jargon-heavy name, one undocumented required id, no output schema and no description of the returned structure leaves the agent with no basis to call it correctly or interpret results. The definition is effectively incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter is just 'id' with no type context beyond string. The description says nothing about what that id identifies (an elementary action? a study? a folder?), so the one parameter the agent must supply is entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment 'Cascade preview:', which merely echoes the '_cascade_info_retrieve' portion of the name rather than stating a verb and resource. An agent cannot tell from it whether this previews a deletion cascade, returns dependent objects, or something else about EBIOS RM elementary actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no alternatives are named. This is especially costly here because dozens of sibling tools share the identical '_cascade_info_retrieve' pattern across other resources, and nothing explains when to prefer this over, e.g., ciso_assistant_api_ebios_rm_elementary_actions_retrieve or _object_retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_elementary_actions_createApi ebios rm elementary actions createD
api_ebios_rm_elementary_actions_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true; the description adds nothing beyond that. No information about required payload structure, permissions, validation, or what a non-idempotent create implies on retry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness — the single token-restatement sentence earns no place because it conveys nothing the tool name does not already convey.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with an opaque free-form body, no output schema, and no annotations beyond auto-generated hints requires a real description. Given the completely undocumented payload and dozens of look-alike siblings, this definition is inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'body' parameter is a free-form object with additionalProperties=true and a null default. The description provides zero information about what fields belong in that body, so the agent has no way to construct a valid call from the definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name ('api_ebios_rm_elementary_actions_create') with underscores swapped for spaces, so it is tautological rather than explanatory. The name at least implies a create operation on EBIOS RM elementary actions, but nothing distinguishes it from siblings like _batch_action_create, _update, or _partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool, when not to, or which sibling to prefer. An agent choosing between create, batch_action_create, partial_update, and update for elementary actions gets no help from this string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_elementary_actions_destroyApi ebios rm elementary actions destroyDDestructiveIdempotent
api_ebios_rm_elementary_actions_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, openWorldHint=true and readOnlyHint=false; the description adds nothing beyond them — no statement of what is removed, whether cascade deletion or dependency effects occur, or what permissions are needed. No contradiction, but zero added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one token long, but this is under-specification rather than conciseness; there is no front-loaded purpose statement or any structure to speak of.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-read-only operation with an undocumented parameter and no output schema, the description supplies none of the information an agent needs before invoking it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, and the description says nothing about what the ID identifies (an elementary action record) or its format. With only one undocumented parameter, the description had a small job and did not do it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's own identifier repeated verbatim: 'api_ebios_rm_elementary_actions_destroy'. It is a tautology that restates the name and title rather than stating in prose that it deletes an EBIOS RM elementary action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the many sibling destroy tools (attack_paths_destroy, kill_chains_destroy, feared_events_destroy, etc.), no prerequisites, and no warning about what deletion entails.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_elementary_actions_icon_retrieveApi ebios rm elementary actions icon retrieveCRead-onlyIdempotent
api_ebios_rm_elementary_actions_icon_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 externally. The description adds nothing beyond that — it does not say what an 'icon' retrieval actually returns (image bytes, URL, static asset), whether authentication or object-level permission is needed, or whether the path is open-world proxied content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single identifier token, so there is no wasted prose, but that is under-specification rather than conciseness. There is no front-loaded statement of purpose or scope for the agent to anchor on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description carries the full burden of explaining what comes back from an icon retrieval, and it says nothing. For a zero-arg endpoint whose only meaningful behavior is its response, this is a substantial gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4; the schema is trivially complete and there is no parameter semantics for the description to explain. Nothing in the description contradicts the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the machine-generated endpoint slug, restating the tool name verbatim with no added phrasing. An agent can infer from the name that it retrieves an icon associated with EBIOS RM elementary actions, but the description itself states no verb+resource in human terms and does not differentiate it from siblings such as the attack_stage lookup or the object_retrieve endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to use this endpoint versus the sibling elementary_actions_retrieve, object_retrieve, or attack_stage_retrieve tools. No prerequisites, no context, no exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_elementary_actions_listApi ebios rm elementary actions listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| operating_mode_available_actions | No | ||
| operating_mode_available_antecedents | No |
TDQS
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 covered. The description adds nothing an agent can act on — 'inject optimized data into the serializer context' is a backend concern and does not explain pagination, filtering, or what the returned list contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short, front-loaded sentence with no padding, so structurally it is efficient. However, that one sentence is spent entirely on internal plumbing rather than on information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With eight undocumented parameters, no output schema, and no annotations explaining scope, this description is nowhere near sufficient to call the tool correctly. Nothing about filtering, ordering, paging, or the EBIOS RM domain is conveyed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Eight parameters with 0% schema description coverage and no explanation in the description. The agent is left guessing what id, max_pages, operating_mode_available_actions, and operating_mode_available_antecedents do, which is a severe gap for a list endpoint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal implementation note about overriding the list method, not a statement of what the tool returns. It never names the resource (EBIOS RM elementary actions) or says this retrieves a collection, so an agent cannot distinguish it from siblings such as elementary_actions_retrieve or elementary_actions_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives (e.g. retrieve vs. object_retrieve vs. cascade_info_retrieve), and no prerequisites. The only content is about serializer context optimization, which tells the agent nothing about selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_elementary_actions_object_retrieveApi ebios rm elementary actions object retrieveDRead-onlyIdempotent
api_ebios_rm_elementary_actions_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true. The description contributes nothing beyond that: no note on what the object contains, permission requirements, or not-found behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is short because it contains no information at all — an identifier string rather than a sentence. Being brief does not earn credit when nothing is communicated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool with an undocumented required parameter and no output schema, the description should explain what object is returned and how to obtain a valid id. None of that is present, making the definition wholly inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, so the description carries the full burden, yet it says nothing about the identifier's format or source. The name 'id' is largely self-explanatory, which is the only reason this is not a 1.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the tool's name repeated verbatim ('api_ebios_rm_elementary_actions_object_retrieve'), a tautology that adds no explanation of what is retrieved. An agent can infer only from the name that it fetches an EBIOS RM elementary action object, but nothing is clarified beyond that.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no distinction from siblings such as ..._elementary_actions_retrieve, ..._elementary_actions_list, or ..._object_retrieve variants. The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_elementary_actions_partial_updateApi ebios rm elementary actions partial updateD
api_ebios_rm_elementary_actions_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true, and idempotentHint=false, and the description adds no context on top of them — no mention of what fields are merged, what is overwritten by a partial update, or auth/permission requirements. It does not contradict the annotations, so it is not a 1, but it contributes nothing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one identifier with no waste, but this is under-specification rather than conciseness. There is no front-loaded statement of purpose, and the reader learns nothing that the tool name did not already say.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a completely undocumented request body, no output schema, and only hint-level annotations, the description should define the payload semantics and merge behavior. It supplies none of that, leaving the definition unusable without external API documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the 'body' parameter is an untyped free-form object with additionalProperties=true, so the agent has no idea which elementary-action fields are accepted. The description does not compensate at all — it names neither the id nor any updatable field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the endpoint slug restated: 'api_ebios_rm_elementary_actions_partial_update'. An agent can decode that this touches EBIOS RM elementary actions, but the string offers no verb, resource phrasing, or scope statement beyond the identifier itself, and nothing distinguishes it from sibling tools like ..._update or ..._retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is zero guidance on when to use this partial-update endpoint versus the full ..._update, ..._create, or ..._retrieve siblings, and no prerequisites or exclusions are stated. The description is a bare identifier, so it gives the agent nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_elementary_actions_retrieveApi ebios rm elementary actions retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so the safety profile is covered. The description adds a genuine non-obvious behavioral trait not in the annotations: unauthorized related fields are masked in the response, which tells the agent to expect partial data. It stops short of explaining what masking means or what happens on missing/forbidden ids.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler. It is efficient, though the brevity borders on under-specification given the missing resource name and parameter meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and only one undocumented parameter, so the description should carry more weight. It omits the resource identity, the id semantics, and how masking affects consumers, and it leaves the agent unable to choose between this and the four sibling elementary_action retrieval tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% — the single 'id' parameter is an undescribed string. The description does not compensate at all: it does not say the id identifies an elementary action, nor what form the identifier takes. The agent must infer the parameter's meaning from the tool name alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns a single object, which conveys the retrieve verb, but it never names the resource (an EBIOS RM elementary action) — that information lives only in the tool name/title. With siblings like elementary_actions_list, _object_retrieve and _cascade_info_retrieve, the description does nothing to distinguish which retrieve flavor this is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus elementary_actions_list, _object_retrieve or _cascade_info_retrieve. The only usable signal is the implicit 'single object by id', which the schema already conveys through the required id parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_elementary_actions_updateApi ebios rm elementary actions updateDIdempotent
api_ebios_rm_elementary_actions_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is known without the description. The description adds nothing beyond that—no mention of what the body must contain, whether omitted fields are preserved, or what a full vs. partial update entails—so it does not contradict but also does not inform.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token with zero waste, but its brevity reflects under-specification rather than economy—nothing is front-loaded because nothing is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an untyped free-form body, no output schema, and no annotations coverage of payload semantics, the description is completely inadequate. An agent cannot know what fields belong in the body or how the update behaves.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and neither parameter (id, body) is documented in the description. The body is an unconstrained object with additionalProperties, so the description carries the full burden of explaining what to send, and it delivers nothing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name restated as a string ('api_ebios_rm_elementary_actions_update'), conveying only that this is an update to ebios RM elementary actions. It adds no verb-plus-resource detail beyond what the name already tells the agent, and gives no differentiation from sibling update tools like elementary_actions_partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling partial_update, create, or retrieve variants. The agent is left to infer everything from the endpoint name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_feared_events_batch_action_createApi ebios rm feared events batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is not read-only, not idempotent, not destructive, and open-world. The description adds only the vague scope 'multiple objects' and does not explain what batch action is performed, how objects are selected, or what side effects occur. It does not contradict the annotations, but it adds little behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single short sentence with no filler, but it is under-specified rather than genuinely structured around the resource and action. It is concise, yet the sentence does little work beyond restating the generic 'batch action' concept.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a batch-action tool in a complex EBioS RM domain, the description omits the target resource, supported action semantics, and expected input or outcome. No output schema exists to fill that gap, so the definition is materially incomplete despite the available annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4 under the rubric. The description does not need to explain parameter semantics, and the empty schema is fully described by its absence of properties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a generic verb phrase, 'Perform a batch action on multiple objects,' but never identifies the resource as EBioS RM feared events. It therefore fails to distinguish this tool from the many other batch_action_create siblings, and an agent must rely on the tool name rather than the description to know what is being acted on.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this batch-action endpoint versus single-object update/create/destroy tools, nor any mention of alternatives, prerequisites, or supported batch action types. Usage is left entirely to inference from the name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_feared_events_batch_create_createApi ebios rm feared events batch create createB
Batch create multiple feared events from a text list.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is known. The description's one contribution is that input is a raw text list rather than structured records, but it says nothing about duplicate handling, partial-failure behaviour, or whether created events are attached to a parent study.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no filler, and the action plus resource appear first. It is efficient, though the brevity leaves room that could have been spent on the input format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an empty request schema, no output schema, and no annotations covering input semantics, the description should specify how the list is supplied and what is returned. Neither is present, so an agent cannot assemble a valid call from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero properties with additionalProperties=false, so the stated 'text list' input has no documented shape, delimiter, or field name; the agent cannot tell how to pass it. With no parameters the baseline would be 4, but the description introduces an input concept the schema does not expose, which creates ambiguity rather than resolving it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Stands on a specific verb (batch create) plus a specific resource (feared events in the Ebios RM domain) and adds the input form ('from a text list'). It does not distinguish itself from the sibling ciso_assistant_api_ebios_rm_feared_events_batch_action_create or ciso_assistant_api_ebios_rm_feared_events_create, so an agent must guess which of the three creation paths applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to prefer this over the sibling single-create or generic batch_action tool, and no prerequisite such as which study/workshop the events belong to. The only usage cue is the implicit 'when you already have a list of names', which the agent must infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_feared_events_cascade_info_retrieveApi ebios rm feared events cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 covered structurally. The word 'preview' adds a small hint that this is a non-mutating look-ahead at cascade consequences, but the description says nothing about what data is returned or what constraints apply, leaving the behavioral burden almost entirely on annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely short, but this is under-specification rather than conciseness; a trailing colon suggests truncated or generated text with no actual content front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and an undocumented required ID on a tool whose semantics ('cascade info') are domain-specific, the description provides nowhere near enough for an agent to call it correctly or interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'id' has 0% schema description coverage, so the description needed to explain what the ID identifies (a feared event? a study?) and its format. The description says nothing about parameters at all, fully failing to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a two-word fragment, "Cascade preview:", that essentially restates the tool name (cascade_info_retrieve). It hints that the response is a preview of cascade effects but never states what a 'cascade' means here (deletion impact? dependency tree?) or what resource is previewed. An agent cannot distinguish this from the many sibling *_cascade_info_retrieve tools based on the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus alternatives such as feared_events_retrieve, feared_events_object_retrieve, or feared_events_destroy. No prerequisites, no conditions, no exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_feared_events_createApi ebios rm feared events createD
api_ebios_rm_feared_events_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, so the safety profile is known from structured data. The description adds no context of its own about what a created feared event requires (study linkage, risk matrix, gravity scale) or what happens on success, so it contributes nothing beyond the annotation block and is not contradictory to it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token with zero padding, but that is under-specification rather than conciseness. There is no front-loaded statement of what the tool does or what it returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, an unspecified free-form body, and dozens of near-identically named EBIOS RM siblings, the description leaves the agent unable to call it correctly. Everything an agent needs — payload shape, prerequisites, uniqueness constraints — is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'body' is an opaque anyOf object with 0% schema description coverage and no required fields, and the description supplies no hint about its expected contents (e.g., study, gravity, ref_id). With one entirely undocumented parameter, the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just a snake_case restatement of the tool name, so the agent learns only what the identifier already implies: create a 'feared event' in the EBIOS RM domain. It adds no verb-plus-resource detail beyond that tautology and does nothing to distinguish it from siblings such as feared_events_batch_create_create or feared_events_partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool, when not to, or which sibling to prefer. The agent must infer from the name alone whether to create a single feared event versus using the batch-create or partial-update variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_feared_events_destroyApi ebios rm feared events destroyDDestructiveIdempotent
api_ebios_rm_feared_events_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 deletion semantics are carried entirely by structured data. The description adds nothing about cascade effects, permission requirements, or whether dependent objects (attack paths, operating modes) are affected. It does not contradict the annotations, so no 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it says nothing; this is under-specification rather than conciseness. No sentence earns its place because the single token conveys no information beyond the tool name already visible to the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete operation with no output schema and an undocumented identifier parameter, the description should at minimum confirm what is deleted and whether the deletion cascades. None of that is present, so an agent cannot call it safely without external guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, and the description supplies no compensating semantics. An agent must infer that the string is the feared-event primary key rather than, say, a slug or reference ID.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's own name with the namespace prefix stripped: 'api_ebios_rm_feared_events_destroy'. It restates the identifier rather than describing an action in prose, so it is a tautology. 'Destroy' hints at deletion, but nothing states what a 'feared event' is or what resource is removed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as ciso_assistant_api_ebios_rm_feared_events_partial_update, _update, or _batch_action_create. No prerequisites, no warnings about when deletion is inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_feared_events_gravity_retrieveApi ebios rm feared events gravity retrieveDRead-onlyIdempotent
api_ebios_rm_feared_events_gravity_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so safety is covered without the description's help. The description adds no behavioral context at all — it does not say whether this returns a computed gravity level, a scale definition, or a per-event breakdown. It does not contradict the annotations, so no 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single meaningless token, so it is technically short, but this is under-specification rather than conciseness. There is no front-loaded statement of intent for an agent to act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a required identifier, no output schema, and a crowded namespace of similar retrieve endpoints, the definition provides none of the context needed to invoke it correctly or interpret the result. Nothing about the expected response or the meaning of 'gravity' is given.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, and the description offers no clarification of what the id identifies — a feared event, a study, or an assessment. With a non-zero parameter count and zero coverage, the description must compensate and completely fails to do so.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation identifier repeated verbatim, which is a restatement of the name/title rather than an explanation of purpose. The name does hint at retrieving the gravity (criticality) of EBIOS RM feared events, but the description adds nothing beyond that, and 'gravity' as a domain concept is never explained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many near-identical siblings such as ciso_assistant_api_ebios_rm_feared_events_risk_matrix_retrieve, ciso_assistant_api_ebios_rm_studies_gravity_retrieve, or ciso_assistant_api_ebios_rm_feared_events_retrieve. The agent has no basis for choosing among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_feared_events_listApi ebios rm feared events listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| assets | No | ||
| offset | No | ||
| search | No | ||
| gravity | No | ||
| ordering | No | ||
| max_pages | No | ||
| is_selected | No | ||
| ro_to_couples | No | ||
| ebios_rm_study | No | ||
| qualifications | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds only a vague hint that the payload is 'optimized' via serializer context, which does not meaningfully tell the agent what comes back, whether results are paginated/filtered by default, or what the 'optimized' data contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so length is not the problem; the problem is that the sentence is internal implementation chatter that earns no place in an agent-facing definition. It is also not front-loaded with any actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 12 undocumented parameters, no output schema, and only annotations to lean on, the description should carry substantial weight, yet it conveys nothing about inputs, filters, pagination, or return shape. An agent cannot call this correctly without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Twelve parameters (id, limit, offset, search, gravity, assets, ordering, max_pages, is_selected, ro_to_couples, ebios_rm_study, qualifications) carry zero schema description coverage and untyped anyOf bodies, and the description explains none of them. Critical filters such as ebios_rm_study and max_pages — which govern whether this tool paginates automatically — are left entirely opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a Django implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does for a caller. It never names the resource (EBIOS RM feared events) or says that it returns a list of them; the only hint is the word 'list'. It does not differentiate this from siblings like ciso_assistant_api_ebios_rm_feared_events_retrieve or _object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of any alternative tool. In a cluster of feared_events tools (list, retrieve, object_retrieve, create, partial_update, destroy, batch_action), the definition gives the agent nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_feared_events_object_retrieveApi ebios rm feared events object retrieveDRead-onlyIdempotent
api_ebios_rm_feared_events_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that — no indication of what is returned, whether the id is a UUID or ref_id, or what happens on a missing record.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is under-specified rather than concise; the single string is a copy of the tool name and carries no front-loaded intent statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should describe the returned object shape at least loosely; it does not. Combined with the undocumented id parameter and the near-identical sibling endpoints, the definition is not sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'id' has zero schema description coverage, so the description is the only place its meaning could be clarified. It is completely silent — it does not state whether this is the feared event's UUID, its ref_id, or a nested object path identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the identifier string 'api_ebios_rm_feared_events_object_retrieve' restated verbatim, which is a tautology rather than an explanation. An agent can only infer 'retrieve a feared event' by parsing the snake_case name itself, and cannot tell how this differs from the sibling 'ciso_assistant_api_ebios_rm_feared_events_retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of the alternatives. The sibling list contains both '..._feared_events_retrieve' and '..._feared_events_object_retrieve' (plus list, cascade_info, gravity, risk_matrix variants), and the description gives nothing to distinguish them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_feared_events_partial_updateApi ebios rm feared events partial updateD
api_ebios_rm_feared_events_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, and the description adds nothing beyond that — no statement of what can be modified, whether the body is merged or replaced, what authorization is required, or what happens to fields omitted from the body. For a mutation endpoint whose payload is an opaque free-form object, this is a total transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one token long, so there is no wasted prose, but this is under-specification rather than conciseness. Nothing is front-loaded because there is no content to structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a free-form body, no output schema, and only the bare safety annotations, the description would need to carry nearly all the meaning. It carries none, so an agent cannot safely construct a call to this endpoint from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the 'body' parameter is an untyped anyOf object with additionalProperties=true, so the schema tells the agent nothing about which feared-event fields are patchable. The description does not compensate at all, leaving the single most important parameter completely opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the machine-generated operation id repeated verbatim, which merely restates the name/title. Only the identifier itself ('partial update' on 'ebios rm feared events') conveys any sense of verb and resource; the description text adds nothing an agent could not already read in the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus ciso_assistant_api_ebios_rm_feared_events_update (full update), _create, _destroy, or _retrieve, all of which sit in the same sibling namespace. The word 'partial' in the identifier hints at PATCH semantics, but that comes from the name, not from any described usage condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_feared_events_retrieveApi ebios rm feared events retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lowered, yet the description adds a genuine non-obvious behavior: related fields the caller is not authorized to see are masked in the response. That is real auth-scoped context an agent would otherwise not know. It stops short of noting what masking means for completeness of the returned object.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single efficient sentence with zero padding, and the masking behavior is stated up front. However, the sentence is short because it omits essentials rather than because it is dense, so terseness here costs more than it saves.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool with rich annotations and no output schema, the description still leaves key gaps: what entity is fetched, what 'id' identifies, and how it differs from the object_retrieve sibling. Only the masking note is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is documented nowhere. The description never explains that 'id' is the feared event identifier or its format, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Return a single object' – it never names the resource (EBIOS RM feared event) that the tool name carries. Read without the tool name, an agent cannot tell what is being returned, and there is no differentiation from siblings such as ..._feared_events_object_retrieve or ..._feared_events_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (e.g. needing the object's id), and no routing to alternatives. With three closely named feared-event read siblings (retrieve, object_retrieve, cascade_info_retrieve, list), the description gives the agent nothing to choose between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_feared_events_risk_matrix_retrieveApi ebios rm feared events risk matrix retrieveDRead-onlyIdempotent
api_ebios_rm_feared_events_risk_matrix_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, non-destructive, openWorld, so safety is covered — but the description adds nothing beyond that: no indication of what the risk matrix contains, whether the id refers to a feared event or a study, or whether the matrix may be empty/unconfigured. Zero added behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token with no wasted words, but this is under-specification rather than conciseness — nothing is front-loaded because nothing is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no parameter documentation, and a description that repeats the name. An agent cannot tell what the call returns or which entity the id belongs to, so the definition is inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required 'id' parameter with 0% schema description coverage; the description does not say what object the id refers to (feared event, study, or matrix). With low coverage the description is expected to compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is merely a restatement of the tool name/identifier ('api_ebios_rm_feared_events_risk_matrix_retrieve'), with no plain-language verb or resource. An agent can infer 'retrieve a risk matrix for EBIOS RM feared events' only by parsing the snake_case name, not from any explanatory text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many closely related siblings such as ciso_assistant_api_ebios_rm_feared_events_retrieve, ciso_assistant_api_ebios_rm_studies_risk_matrix_retrieve, or ciso_assistant_api_ebios_rm_operational_scenarios_risk_matrix_retrieve. The distinction (per-feared-event matrix vs. study-level matrix) is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_feared_events_updateApi ebios rm feared events updateDIdempotent
api_ebios_rm_feared_events_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, and the description adds nothing on top of that — no indication of what the body replaces, whether omitted fields are cleared, what permissions are required, or what a successful response contains. For a mutation endpoint the description carries zero behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single identifier token rather than a sentence, so it is technically short but is under-specification rather than conciseness. Nothing is front-loaded because there is no content to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write operation with an untyped body parameter, no output schema, and 0% schema description coverage, the description should at minimum describe the payload and the effect of the update. It supplies nothing, leaving an agent unable to call the tool correctly beyond guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the 'body' parameter is an unconstrained free-form object (anyOf object/null), so the description must explain what payload fields exist; it explains none. The description also fails to clarify that 'id' is the required identifier of the feared event being modified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the identifier string "api_ebios_rm_feared_events_update" repeated verbatim, which is a tautology that restates the tool name and title. An agent can infer a mutation of 'feared events' from the name alone, but the description itself contributes nothing to distinguish it from siblings such as ciso_assistant_api_ebios_rm_feared_events_partial_update or _retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the closely related siblings (_partial_update, _update, _create, _destroy, _cascade_info_retrieve). The description provides no triggers, prerequisites, or exclusions whatsoever.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_kill_chains_batch_action_createApi ebios rm kill chains batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false; the description adds nothing on top of that. It does not disclose what a batch action does to the targeted objects, whether it is reversible, or what the response contains. No annotation contradiction, but no added value either.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, so it is concise in the literal sense. Front-loading is moot because there is no substance to front-load, and the sentence is under-specified rather than efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world mutation endpoint with no output schema and an apparently empty input schema, the description should explain the target model and the required action payload. It supplies neither, leaving the agent unable to invoke the tool correctly from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero declared parameters the baseline is 4, but the empty schema (additionalProperties: false) means the agent has no way to know how the action type, object IDs, or payload are conveyed, and the description does not fill that void with a single word. It is therefore slightly below the zero-parameter baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a generic verb+resource pair ('batch action on multiple objects') but never states that the objects are EBIOS RM kill chains, which only the tool name and title reveal. It is a copy-paste boilerplate string shared across dozens of sibling *_batch_action_create tools, so it distinguishes this tool from none of them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use a batch action versus the single-object kill_chains_update/destroy/create siblings, no mention of what actions exist (delete, update, etc.), and no prerequisites. 'Batch action' implies bulk use, but nothing tells the agent when this is the correct entry point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_kill_chains_cascade_info_retrieveApi ebios rm kill chains cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, idempotent=true, destructive=false, openWorld=true, so the safety profile is covered. The description adds only the word "preview," which weakly hints the response is a preview of cascade effects rather than an actual cascade deletion — but it never states what the preview contains, what is affected, or whether it requires permissions. With annotation coverage the bar is lower, but this adds almost nothing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not because it is efficient — it is an unfinished fragment ending in a colon. Shortness here reflects under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one undocumented required parameter, no output schema, and a large set of near-identical cascade_info siblings, the description provides nothing an agent needs to call it correctly or to disambiguate it. The definition is effectively name-only.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter `id` has 0% schema description coverage, so the description carries the full burden of clarifying it. It says nothing — not what entity the id identifies, nor its format. The agent cannot tell whether it is a kill chain id, a study id, or a cascade operation id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a bare fragment that names no verb and no resource; it only gestures at the concept of a cascade. An agent must reconstruct the purpose entirely from the tool name, and the description does nothing to distinguish this kill-chains cascade endpoint from the dozens of other *_cascade_info_retrieve siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling (e.g. kill_chains_retrieve, kill_chains_object_retrieve, kill_chains_list) is the alternative. The colon-terminated fragment implies missing content rather than directing usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_kill_chains_createApi ebios rm kill chains createD
api_ebios_rm_kill_chains_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, but the description adds no behavioral context of its own—no mention of required permissions, what body fields are accepted, or what the create returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single identifier-like token—brief, but under-specification rather than genuine conciseness. It earns no informational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a POST create operation with an opaque body parameter, no output schema, and open-world annotations, the description is entirely inadequate. An agent cannot determine payload shape or expected outcome from it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single 'body' parameter is an untyped anyOf object/null with no properties described. The description provides no compensating detail about what the body must contain, leaving the parameter effectively undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the operation ID 'api_ebios_rm_kill_chains_create', which restates the tool name rather than explaining it. It does imply a create action on kill chains in the EBIOS RM module, but offers no elaboration 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool, prerequisites, or how it differs from siblings like kill_chains_list, kill_chains_update, or kill_chains_batch_action_create. The agent must infer everything.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_kill_chains_destroyApi ebios rm kill chains destroyDDestructiveIdempotent
api_ebios_rm_kill_chains_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is known. The description adds nothing beyond that, but it also does not contradict the annotations, so it is not scored at 1.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but consists solely of the tool identifier with no front-loaded statement of purpose. Brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete endpoint with an undocumented required id and no output schema, the description supplies none of the needed context: no effect description, no confirmation semantics, no related-entity cascade behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, and the description does not identify it at all. It does not state whether the id refers to a kill chain, an EBIOS RM study, or a nested resource, and it does not describe the expected format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the tool's identifier restated ('api_ebios_rm_kill_chains_destroy'); it adds no verb, resource, or scope beyond what the name already encodes. An agent learns nothing about what a 'kill chain' deletion actually removes beyond the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool instead of the many siblings, such as ciso_assistant_api_ebios_rm_kill_chains_partial_update, update, or batch_action_create. No prerequisites, no exclusions, and no warnings about irreversible deletion are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_kill_chains_listApi ebios rm kill chains listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| operating_mode | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered elsewhere. The only behavioral hint here is the vague notion that 'optimized data' is injected into the response serializer context, which gives no actionable detail about the returned payload or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not verbose, but it is under-specified developer jargon rather than a concise user-facing statement. Brevity here comes at the cost of any useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With seven undocumented parameters, no output schema, and annotations carrying only the safety profile, the description should do substantial work on filtering, paging, and return shape. It supplies none of that, leaving an agent unable to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Seven parameters (id, limit, offset, search, ordering, max_pages, operating_mode) have 0% schema description coverage and untyped anyOf schemas, and the description mentions none of them. Nothing compensates for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does. It never says it lists EBIOS RM kill chains, and it does not distinguish this tool from ciso_assistant_api_ebios_rm_kill_chains_retrieve or the other ebios_rm *_list siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance. The sentence describes Django internals, not the conditions under which an agent should call this instead of a sibling 'list' or 'retrieve' operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_kill_chains_logic_operator_retrieveApi ebios rm kill chains logic operator retrieveCRead-onlyIdempotent
api_ebios_rm_kill_chains_logic_operator_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered by structured data. The description adds nothing about what the endpoint returns (likely a list of logic operator values) or whether it requires an EBIOS RM study context, so it contributes zero 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but not concise in the useful sense: a single restated identifier carries no front-loaded information. There is no wasted sentence, but also no content that earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param, no-output-schema retrieve endpoint, the description should at minimum say what is returned (e.g., the list of logic operator options for kill chain steps). It says nothing, leaving the agent unable to predict the response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters (0 params, empty schema), so the baseline is 4. There is nothing for the description to disambiguate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name ('api_ebios_rm_kill_chains_logic_operator_retrieve'), so it is tautological. Only by parsing the identifier can one infer it retrieves a logic operator enumeration for EBIOS RM kill chains, and nothing distinguishes it from siblings like kill_chains_retrieve or kill_chains_cascade_info_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the many adjacent EBIOS RM endpoints (kill_chains_list, kill_chains_retrieve, kill_chains_cascade_info_retrieve). The agent must guess the use case entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_kill_chains_object_retrieveApi ebios rm kill chains object retrieveDRead-onlyIdempotent
api_ebios_rm_kill_chains_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description contributes nothing beyond that, leaving questions like whether a missing id errors or returns empty, and what permission scope is needed, unanswered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity comes from under-specification rather than efficiency: the single token is a name echo with no front-loaded statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an object-retrieve endpoint embedded in a large API with dozens of closely named kill-chain siblings and no output schema, the description should at minimum say it returns one kill chain record by identifier. It says nothing, so the definition is effectively unusable except by name-guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'id' parameter has 0% schema description coverage and the description adds no meaning about its format, source, or whether it is a numeric pk or an object reference. The parameter is largely self-evident, but the description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the internal tool name, so its only meaning comes from decoding the name: fetch one EBIOS RM kill chain by id. It never states in plain language what an 'ebios rm kill chain' is or that a single object is returned, and it does nothing to separate it from kill_chains_retrieve, kill_chains_list, or kill_chains_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance at all: no when-to-use, no when-not-to-use, and no mention of the many sibling kill-chain endpoints it could be confused with. An agent has to infer everything from the identifier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_kill_chains_partial_updateApi ebios rm kill chains partial updateD
api_ebios_rm_kill_chains_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true, so the safety profile is at least documented elsewhere. The description contributes nothing about what fields can be patched, whether omitted fields are preserved (the whole point of a partial update), or what the response looks like. With no annotations-only value added, this is a pure restatement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from under-specification rather than efficiency – the single fragment is a snake_case identifier, not a sentence. There is no structure to speak of and nothing front-loaded because there is nothing to load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, non-read-only write tool with a free-form body and no output schema, the description leaves every decision to the caller. An agent cannot tell which sibling to pick, what to put in body, or what the effect of the call is.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Two parameters with 0% schema description coverage: an opaque 'id' string and a free-form 'body' object with additionalProperties true and null default. The description does not say what belongs in body, which kill-chain fields are patchable, or that omission means 'leave unchanged' – arguably the single most important thing to state here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the machine-generated operation ID restated verbatim: 'api_ebios_rm_kill_chains_partial_update'. It adds no verb/resource framing beyond what the tool name already spells out, and gives no hint of what a 'kill chain' is in this EBIOS RM context. An agent learns nothing it could not parse from the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of the sibling alternatives that clearly exist (kill_chains_update, kill_chains_create, kill_chains_destroy, kill_chains_retrieve, kill_chains_batch_action_create). Notably there is no differentiation between this partial_update and the full update sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_kill_chains_retrieveApi ebios rm kill chains retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description does add genuine value by disclosing that unauthorized related fields are masked, which affects how the agent should interpret missing fields. It does not mention behavior on a nonexistent or inaccessible id (error vs. empty response).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler, but the brevity is achieved by omitting essentials rather than by precision. Nothing is wasted, yet nothing is spent where it matters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple read with a 1-param schema and no output schema, so the description carries the load for identifying the resource, the id semantics, and the return shape. It covers only the masking caveat; the agent learns neither what entity is returned nor what its fields look like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the description must compensate and does not: it never states that the id identifies a kill chain, nor what format the identifier takes (numeric pk, ref_id, or uuid). The description is silent on the only parameter that exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Return a single object" states a verb and cardinality, but never names the resource (EBiOS RM kill chain) or says the object is selected by id. The agent must fall back on the tool name to know what is being fetched, and nothing separates it from siblings like kill_chains_object_retrieve or kill_chains_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the sibling retrieve variants (object_retrieve, list, cascade_info_retrieve) or on prerequisites such as needing a valid kill chain id. The agent is left to infer usage entirely from naming conventions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_kill_chains_updateApi ebios rm kill chains updateDIdempotent
api_ebios_rm_kill_chains_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=true, and openWorldHint=true, so the safety profile is covered structurally. The description contributes nothing beyond that — it does not say what fields are replaceable, whether omitted fields are cleared, or what permissions/locking apply to an idempotent PUT.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but that is under-specification rather than conciseness. There is no front-loading of purpose, scope, or constraints — every sentence that should earn its place is simply absent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutating update endpoint with an opaque free-form body, no output schema, and 0% schema documentation. The description does nothing to fill that gap, so an agent cannot call the tool correctly from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no parameter information at all. The critical 'body' parameter is an untyped anyOf object with no documented shape, so the agent has no way to know which kill-chain fields to send.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's slug repeated verbatim, adding no verb or resource phrasing beyond what the name already encodes. An agent can infer 'update kill chains' from the identifier, but the description itself states nothing about scope, target entity, or EBIOS RM context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance is provided. With near-identical siblings such as partial_update, batch_action_create, destroy, and list all present, the absence of any routing guidance leaves the agent to guess between them 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.
ciso_assistant_api_ebios_rm_operating_modes_batch_action_createApi ebios rm operating modes batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, so the safety profile is partly covered. The description adds nothing beyond that: it does not say what an 'action' can be, whether operations are atomic or per-object, or what happens on partial failures — the very behaviors that matter for a non-idempotent bulk mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, front-loaded and free of padding, but its brevity comes from under-specification rather than economy — nothing here is wasteful because almost nothing is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an open-world, non-idempotent bulk mutation with an empty parameter schema and no output schema, the definition omits the target entity, the supported actions, and result behavior. An agent cannot reliably invoke this tool correctly from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero properties with additionalProperties=false, so per the rubric the baseline is 4; however the description does not explain that a batch action would normally need a payload (ids plus action verb), leaving the empty schema unexplained. It adds no semantics beyond the structured fields, so a mid-range 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Perform a batch action on multiple objects' restates the name's 'batch_action_create' without naming the resource (EBiOS RM operating modes) or the action types available. Against roughly a hundred sibling `*_batch_action_create` tools, it gives an agent no way to distinguish which entity this operates on. Only the tool name carries the resource, not the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this bulk endpoint versus the sibling single-object `ciso_assistant_api_ebios_rm_operating_modes_create` / `_update` / `_destroy` tools, nor any prerequisite, batching limit, or selection criterion. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operating_modes_build_graph_retrieveApi ebios rm operating modes build graph retrieveDRead-onlyIdempotent
api_ebios_rm_operating_modes_build_graph_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that – it does not explain what the graph represents, whether graph building is computed on the fly, or what the response contains, so it contributes no behavioral value beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically short, but that brevity comes from under-specification rather than efficiency: a raw identifier string with no front-loaded explanation of purpose or scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, a 0%-documented required parameter, and no explanation of the graph-building behavior, the definition is completely inadequate for an agent to call this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required 'id' parameter is undocumented in both schema and description. The description does not say whether the id refers to an operating mode, a study, or a graph, leaving the only parameter ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal tool name 'api_ebios_rm_operating_modes_build_graph_retrieve' with underscores, which merely restates the name and title rather than stating what the tool does. It never says what a 'graph' is, what is being built, or what is retrieved, so an agent cannot distinguish it from siblings like operating_modes_save_graph_create or operating_modes_likelihood_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no reference to alternatives such as save_graph_create or the plain retrieve endpoint. Nothing indicates when this graph-building read should be preferred over other operating-mode endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operating_modes_cascade_info_retrieveApi ebios rm operating modes cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond annotations about what the cascade preview returns, its depth, or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely short, but this is under-specification rather than conciseness; the single fragment conveys almost no usable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an undocumented id parameter, no output schema, and an ambiguous 'cascade info' concept, the description is far too thin. It leaves the agent unable to know what it will receive or what the id refers to.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter 'id' with 0% schema description coverage. The description does not say what the id identifies (operating mode? study? folder?) or what shape it takes, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" hints at a read/preview of cascade-related data, but does not state a verb+object relationship beyond the tool name. It does not clarify what 'cascade info' means or how it differs from siblings like ciso_assistant_api_ebios_rm_operating_modes_retrieve or operating_modes_build_graph_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this versus the many sibling retrieve endpoints (object_retrieve, retrieve, build_graph_retrieve, likelihood_retrieve). The fragment offers no usage context at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operating_modes_createApi ebios rm operating modes createD
api_ebios_rm_operating_modes_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false, so the safety profile is covered structurally. The description adds nothing beyond that – no mention of what body data is required, what permissions are needed, whether concurrent creates are safe, or what happens on success. It does not contradict the annotations, but contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically one token, but this is under-specification rather than conciseness. There is no front-loaded purpose sentence, no structure, and nothing an agent can parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create/mutation endpoint with an empty schema, no output schema, and no parameter documentation, the description is completely inadequate. An agent cannot determine what to send, what the side effects are, or how it differs from siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter is a free-form 'body' object with additionalProperties=true and a null default. The description provides no information about the shape, required fields, or semantics of that body, leaving the agent with no way to construct a valid payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool's slug restated verbatim ('api_ebios_rm_operating_modes_create'), which merely echoes the name and title. It implies a create operation on an EBIOS RM operating-modes resource, but provides no verb+resource statement an agent could act on beyond the identifier itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus the many siblings (e.g. operating_modes_list, operating_modes_update, operating_modes_partial_update, operating_modes_retrieve). Nothing indicates prerequisites, context, or 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.
ciso_assistant_api_ebios_rm_operating_modes_default_ref_id_retrieveApi ebios rm operating modes default ref id retrieveCRead-onlyIdempotent
api_ebios_rm_operating_modes_default_ref_id_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds no context about what a 'default ref id' means, whether it is per-study or global, or what the response contains — no contradiction, but zero added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity reflects under-specification rather than economy — the single token string conveys no front-loaded purpose. Nothing here earns its place because it merely echoes the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A zero-parameter, no-output-schema retrieve endpoint still needs to say what the default reference id represents and how it differs from the sibling retrieve/list operations. Neither the description nor an output schema supplies that, leaving the agent unable to predict the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies; there is nothing for the description to explain. The schema is trivially complete with additionalProperties false.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw tool identifier repeated verbatim, a tautology that restates the name without a verb+resource statement an agent can act on. The name hints at retrieving a default reference id for EBIOS RM operating modes, but the description contributes nothing beyond the identifier string and does not distinguish it from the many *_default_ref_id_retrieve siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance of any kind. With siblings like ciso_assistant_api_ebios_rm_operating_modes_retrieve, _list, and _object_retrieve present, the absence of any routing signal makes selection a guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operating_modes_destroyApi ebios rm operating modes destroyDDestructiveIdempotent
api_ebios_rm_operating_modes_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is known. The description adds nothing beyond that: it does not say whether deletion is permanent, whether it cascades to linked fear events, attack paths or graphs, or what happens if the id does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than conciseness — the single string is a raw API path with no front-loaded intent, scope, or effect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, irreversible mutation with no output schema, no parameter documentation, and no description of side effects or permissions. Nothing an agent needs in order to call it safely is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, and the description never mentions it. The agent gets no indication of whether 'id' is a UUID, a numeric ref_id, or a slug, so the description entirely fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated verbatim ('api_ebios_rm_operating_modes_destroy'), so it conveys only what the identifier already encodes: destroy an EBIOS RM operating mode. It does not say what an operating mode is in this domain or distinguish the intent from siblings like operating_modes_update or operating_modes_partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to delete versus archive/update, no prerequisites, and no warning that deletion is permanent. The only usable signal comes from the sibling naming convention, not from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operating_modes_likelihood_retrieveApi ebios rm operating modes likelihood retrieveDRead-onlyIdempotent
api_ebios_rm_operating_modes_likelihood_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds zero behavioral context of its own — no indication of what the returned likelihood object contains, whether auth/tenant scoping applies, or what happens for a nonexistent id. With annotations doing all the work, this sits just above the floor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but not concise in any useful sense — it is a single identifier string with no front-loaded verb-resource statement, no scope, and no actionable content. Brevity here reflects under-specification rather than efficient editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one id, no output schema) and annotations cover safety, but the description still leaves the core question unanswered: what 'likelihood' is computed and returned for an operating mode. There is no mention of the domain concept (EBiOS RM operating mode likelihood, presumably derived from kill chain / elementary action likelihood), which an agent cannot infer from the name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, 'id', with 0% schema description coverage, so the description must carry the semantics and it does not. It never states that the id refers to an EBiOS RM operating mode, nor what form the identifier takes. Only the tool name implicitly hints the parameter is an operating mode identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw tool identifier restated verbatim, so it functions as a tautology rather than an explanation. The name does decompose into 'retrieve likelihood for EBiosity operating modes', but nothing in the description clarifies what a 'likelihood' value is or that it is scoped to a single operating mode. It does not distinguish this from sibling endpoints such as operational_scenarios_likelihood_retrieve or ebios_rm_studies_likelihood_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative routing guidance is given. An agent facing four similarly named 'likelihood_retrieve' endpoints has no textual basis for choosing this one. The description offers nothing beyond the identifier string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operating_modes_listApi ebios rm operating modes listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| operational_scenario | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and non-destructive, so the safety profile is covered. The only extra signal – 'optimized data into the serializer context' – is implementation jargon that doesn't tell the caller what extra data appears in the response or how pagination/limits behave.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is about implementation mechanics rather than the tool contract, so the brevity buys nothing. Brevity without useful content is under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A paginated, filtered list endpoint with seven undocumented parameters and no output schema needs the description to explain filtering, pagination, and returned record shape. None of that is present – the description is wholly inadequate for the caller's needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Seven parameters (id, limit, offset, search, ordering, max_pages, operational_scenario) with 0% schema description coverage, and the description says nothing about any of them. It cannot compensate for the schema gap, and filter semantics like operational_scenario are left completely opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description reads as an internal developer note about overriding a method, not a statement of what the tool does. Only the phrase 'list method' hints that it is a list operation; the actual resource (EBIOS RM operating modes) and the returned collection are never stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus siblings such as operating_modes_retrieve, object_retrieve, cascade_info_retrieve, or default_ref_id_retrieve. The agent must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operating_modes_object_retrieveApi ebios rm operating modes object retrieveDRead-onlyIdempotent
api_ebios_rm_operating_modes_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered by structured data. The description adds nothing beyond the name — no note about permissions, what object shape is returned, or whether missing ids error out. It does not contradict the annotations, but it contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is extremely short, but that brevity reflects under-specification rather than efficiency. It is a verbatim identifier string with no front-loaded purpose statement, so nothing earns its place because nothing informative is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations beyond the standard hints, and an undocumented required id, the description should explain what an 'operating mode' object is and what a successful response contains. None of that is present, so an agent has no basis for calling this correctly beyond guessing from the endpoint path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter 'id' with 0% schema description coverage and no type/format explanation in the description. The agent cannot tell whether id is a numeric PK, a UUID, or a slug, nor whether this is the same identifier used by sibling endpoints. The description does nothing to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw endpoint path 'api_ebios_rm_operating_modes_object_retrieve', which merely restates the tool name and title. It names no verb beyond the embedded 'retrieve' and no resource meaning an agent could interpret; it does not explain that this fetches a single EBIOS RM operating mode record by id, nor distinguish it from the sibling 'ciso_assistant_api_ebios_rm_operating_modes_retrieve' or '_list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool versus the many near-identical siblings (operating_modes_list, operating_modes_retrieve, operating_modes_object_retrieve, operating_modes_cascade_info_retrieve). The agent must infer from the name alone that 'object_retrieve' means single-object fetch by id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operating_modes_partial_updateApi ebios rm operating modes partial updateD
api_ebios_rm_operating_modes_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true, but the description adds nothing beyond them — no mention of permission requirements, which fields are mutable, or what a partial update returns. It contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity reflects under-specification rather than efficient communication; the single identifier is not front-loaded with any actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a completely undocumented free-form body, no output schema, and zero schema coverage, the description should carry substantial weight but instead says nothing. It is wholly inadequate for calling the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%: the required 'id' is an undescribed string and 'body' is a free-form object with additionalProperties=true and no documented fields. The description supplies no clarification of either parameter, so an agent has no idea what to put in the request body.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the operation ID repeated verbatim, which restates the name and title rather than describing the action. An agent can infer a partial update of EBIOS RM operating modes only by parsing the identifier, not from any prose about what is updated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus the sibling full-update (operating_modes_update) or create variants, and no prerequisites or context given. The agent is left to infer routing entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operating_modes_retrieveApi ebios rm operating modes retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld). The description contributes one genuinely useful behavioral fact beyond them: unauthorized related fields are masked, which matters for interpreting results. It stops short of describing what is masked or returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, so it is efficient, but the space saved is spent on ambiguity rather than a front-loaded statement of what is retrieved.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-object retrieval with no output schema, the description should at least identify the returned entity and the id semantics. It covers only the masking caveat, leaving the caller to infer the rest from the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage and the description says nothing about it — no format, no indication of whether it is a UUID, numeric id, or ref. With low coverage the description needed to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Return a single object' and never names the resource; the actual object (an EBIOS RM operating mode, fetched by id) is inferable only from the tool name. It adds the masking detail but leaves the core purpose unstated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives, despite close siblings such as operating_modes_object_retrieve, operating_modes_list, and operating_modes_cascade_info_retrieve. An agent gets no help choosing between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operating_modes_save_graph_createApi ebios rm operating modes save graph createD
api_ebios_rm_operating_modes_save_graph_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, but the description adds nothing beyond them. It does not say whether the graph replaces prior state, what the id identifies, or what a successful save returns — for a non-idempotent write this is a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but it is a bare identifier rather than a sentence, so the brevity reflects under-specification, not concision. Nothing is front-loaded because there is no information to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameter documentation, and a mutation that is explicitly non-idempotent and open-world, the description should explain inputs and effects. It provides none of that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, so the description carries the full explanatory burden and provides none. It never states whether 'id' refers to an operating mode, a study, or a graph instance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim ('api_ebios_rm_operating_modes_save_graph_create'), so it is a tautology that restates the title rather than explaining anything. An agent can only reverse-engineer intent from the identifier, and even then it cannot tell what 'save graph' means relative to the sibling build_graph_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to use this versus alternatives. Siblings such as ciso_assistant_api_ebios_rm_operating_modes_build_graph_retrieve, _create, and _partial_update exist, and the description never distinguishes this save-graph call from them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operating_modes_updateApi ebios rm operating modes updateDIdempotent
api_ebios_rm_operating_modes_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description contributes nothing on top of that: no mention of what fields are overwritten, whether a full or partial replacement occurs, or what permissions/validation apply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token with no padding, but that brevity comes from under-specification rather than efficiency. There is no front-loaded statement of purpose, effect, or scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with a free-form body, no output schema, 0% schema coverage, and dozens of similarly named siblings demands far more descriptive content than an operation ID. Nothing an agent needs to invoke it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description provides no parameter information. The `body` parameter is an unconstrained free-form object (additionalProperties: true) whose expected shape is completely undocumented anywhere, and the required `id` string is equally unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the operation ID restated in snake_case ("api_ebios_rm_operating_modes_update") and adds nothing beyond the name/title. An agent can infer it mutates an EBIOS RM operating mode, but only by parsing the identifier itself, and it is indistinguishable from sibling endpoints like operating_modes_partial_update or operating_modes_save_graph.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus the many overlapping EBIOS RM operating-mode siblings (partial_update, create, destroy, save_graph, build_graph). No prerequisites, no exclusions, no context signals a full update versus a patch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operational_scenarios_batch_action_createApi ebios rm operational scenarios batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, so the safety profile is partially covered, but the description adds nothing about what the batch action does to the target objects, whether it is atomic, or what 'batch action' payload looks like. With openWorldHint=true and idempotentHint=false, the agent gets no behavioral context from the text.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler. It is efficient, but its brevity reflects under-specification rather than disciplined compression.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world batch mutation with no output schema and an empty parameter object, the description omits essentially everything an agent needs: the domain entity, the action performed, and the invocation mechanism. Only the annotations supply any usable context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters (additionalProperties=false), which is the baseline-4 condition, but a batch action taking no arguments is counterintuitive and the description does nothing to explain how target objects and the action type are conveyed. That unexplained gap pulls this below baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the name's generic tail ('batch action on multiple objects') without naming the resource (EBIOS RM operational scenarios) or what the action actually does (create/update/delete/assign). An agent cannot distinguish this from any of the dozens of sibling *_batch_action_create tools from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use a batch action versus the per-object siblings (operational_scenarios_update, _partial_update, _destroy), nor on what preconditions or payload format apply. The sentence is a restatement, not a routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operational_scenarios_cascade_info_retrieveApi ebios rm operational scenarios cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing about what a cascade preview actually returns or how it differs from a normal retrieve, so it contributes no behavioral value 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but not concise in the useful sense—a truncated fragment ('Cascade preview:') that is under-specified rather than economical. It is not a complete sentence and provides no front-loaded information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one required parameter, no output schema, and a name implying a non-trivial cascade computation, the description should explain what the preview returns and how it relates to deletion or dependency checks. Instead it supplies nothing, leaving the agent unable to judge the result's meaning.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required 'id' parameter with 0% schema description coverage, and the description says nothing about it. The parameter is at least self-evidently an identifier, but the description does not confirm whether it is the operational scenario id, a study id, or something else.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment 'Cascade preview:', which does not state a verb or resource and merely echoes part of the tool name. It gives no way to distinguish this from the many sibling '*_cascade_info_retrieve' tools such as journeys, actors, or applied_controls.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. Nothing says what a 'cascade preview' is for, when it should be called instead of the entity's *_retrieve or *_list sibling, or what prerequisites exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operational_scenarios_createApi ebios rm operational scenarios createD
api_ebios_rm_operational_scenarios_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, and destructiveHint=false, so the safety profile is known from structured data, and the description does not contradict it. However, the description adds nothing at all: no mention that a body payload is required, no side effects, no required permissions, no what-happens-on-duplicate behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically concise, but the brevity comes from under-specification rather than efficiency – the one sentence present is a duplicate of the tool name and carries no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint taking an opaque free-form body with no output schema, the description should at minimum sketch payload fields and creation semantics. It contains nothing, so the definition is not usable for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single `body` parameter has 0% schema description coverage and is typed only as a free-form object, so the agent has no idea which fields an operational scenario requires. The description supplies none of this, leaving the caller unable to construct a valid payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name, with no elaboration of what an 'operational scenario' is in the EBIOS RM context or what creating one entails. It does imply a create operation on that resource, but nothing beyond what the identifier already encodes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings such as operational_scenarios_list, operational_scenarios_update, or the batch_action variant. An agent must infer the usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operational_scenarios_destroyApi ebios rm operational scenarios destroyCDestructiveIdempotent
api_ebios_rm_operational_scenarios_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered. The description adds nothing about cascade effects (do linked attack paths / operating modes get deleted?), whether the record is soft-deleted, or what happens on an unknown id. With annotations doing the safety work, this is only marginally deficient, but it contributes zero beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single identifier with no front-loaded statement, so there is no waste but also no information. Brevity here reflects under-specification rather than efficient structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world mutation with no output schema and an undocumented id parameter, an agent needs at minimum what object is removed and what related EBIOS RM objects are affected. None of that is present, so the definition is not complete enough to call safely without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter 'id' with 0% schema description coverage. The description never says whether this is the operational scenario's UUID, slug, or ref_id, nor what a malformed/unknown id yields, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim ('api_ebios_rm_operational_scenarios_destroy'), which only indirectly implies deleting an EBIOS RM operational scenario. It adds no verb-plus-resource statement an agent could use to distinguish this from the many sibling *_destroy tools (strategic_scenarios_destroy, operating_modes_destroy, feared_events_destroy, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is given. The agent must infer from the name alone that this deletes a single operational scenario rather than, say, a strategic scenario or operating mode from the same EBIOS RM study.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operational_scenarios_likelihood_retrieveApi ebios rm operational scenarios likelihood retrieveDRead-onlyIdempotent
api_ebios_rm_operational_scenarios_likelihood_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds nothing beyond what annotations already state (readOnly, idempotent, non-destructive, openWorld). It does not say what the likelihood endpoint computes, whether it is a computed/derived value versus a stored field, or whether it can fail if the scenario lacks required inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Brevity here reflects under-specification rather than conciseness; there is no front-loaded statement of purpose, only a machine identifier repeated as prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no annotations-level compensation for what the endpoint returns, and an undocumented required identifier. For an endpoint in a dense family of near-identical '_likelihood_retrieve' siblings, this is completely inadequate to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single 'id' parameter is undocumented in both schema and description. The description does not say whether 'id' is the operational scenario UUID, a study id, or a likelihood record id, which is a real ambiguity given the surrounding endpoints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw operation ID, 'api_ebios_rm_operational_scenarios_likelihood_retrieve', which restates the name and title rather than explaining what is returned. An agent can infer it retrieves a likelihood value for an EBIOS RM operational scenario, but nothing distinguishes it from the sibling 'api_ebios_rm_operating_modes_likelihood_retrieve' or from 'operational_scenarios_risk_matrix_retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the many sibling likelihood/retrieve endpoints (operating_modes_likelihood, studies_likelihood, risk_matrix, retrieve). No prerequisites, no context about the EBIOS RM workflow step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operational_scenarios_listApi ebios rm operational scenarios listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| likelihood | No | ||
| ebios_rm_study | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds only the internal note about injecting optimized serializer data, which tells the agent nothing about return shape, filtering semantics, or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence, but that sentence is developer-internal jargon rather than a front-loaded statement of purpose. Brevity here reflects under-specification, not efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with eight undocumented parameters, no output schema, and many similar siblings, the description provides none of the context needed to invoke it correctly. It does not compensate for the absent schema documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across eight parameters (id, limit, offset, search, ordering, max_pages, likelihood, ebios_rm_study), and the description clarifies none of them. With the schema silent and the description silent, parameter meaning is entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says to "Override the list method" but never states what resource is listed or what operation the agent performs. It is an internal implementation note, not an agent-facing purpose, and gives no differentiation from the many sibling list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling alternative applies. An agent has no basis to choose it over operational_scenarios_retrieve or any other list endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operational_scenarios_object_retrieveApi ebios rm operational scenarios object retrieveCRead-onlyIdempotent
api_ebios_rm_operational_scenarios_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true) already cover the safety and idempotency profile, so the description is not obligated to repeat them. However it adds nothing beyond the name: no indication of what permissions are required, what happens on a missing/invalid id, or what the response shape is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here reflects under-specification rather than concision: the single token carries no information an agent didn't already have from the tool name, so nothing is front-loaded except redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve-by-id tool with no output schema and no documented parameter, the description would need to explain the entity domain, the id format, and the returned resource. None of that is present, leaving an agent unable to 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is a bare string with no description in the schema. The description does not compensate by saying whether this is a UUID, a numeric id, or a business ref (the sibling family uses ref_id elsewhere), so an agent has no basis for constructing a valid call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool's snake_case identifier restated ("api_ebios_rm_operational_scenarios_object_retrieve"), which is the definition of a tautological description. An agent can infer 'retrieve one operational scenario object' only by parsing the name itself, and there is no statement of what an operational scenario is or what the returned object contains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no usage guidance at all — no when-to-use, no when-not-to-use, and no distinction from the many close siblings such as ..._operational_scenarios_retrieve, ..._operational_scenarios_list, ..._object_retrieve on other resources, or ..._operational_scenarios_cascade_info_retrieve. The agent must guess between them purely from name tokens.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operational_scenarios_partial_updateApi ebios rm operational scenarios partial updateD
api_ebios_rm_operational_scenarios_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false. The description adds nothing beyond them — no mention of what the partial update affects, whether omitted fields are preserved, permission requirements, or side effects. It neither confirms nor contradicts 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is under-specified — a bare identifier fragment rather than a sentence. There is no front-loaded purpose statement or structure to guide the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a free-form 'body' object, no output schema, and 0% schema coverage, an agent needs at least the target resource, the patch semantics, and payload guidance. None of that is present, making the definition insufficient to invoke the tool safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and both parameters are undocumented: the description says nothing about 'id' (identifier of the operational scenario) or 'body' (which fields are patchable, expected shape of the JSON payload). With zero-coverage params, the description must compensate and it does not at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool's identifier repeated ('api_ebios_rm_operational_scenarios_partial_update'), a tautology that restates the name and title. The name does encode a verb (partial update) and resource (EBIOS RM operational scenarios), so an agent can infer the gist, but the description itself adds no clarifying statement of purpose or differentiation from siblings like ..._update or ..._cascade_info_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus the sibling tools (full update, retrieve, object_retrieve, create, destroy, batch_action). Nothing explains the partial-update semantics (PATCH-style merge vs replace) or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operational_scenarios_retrieveApi ebios rm operational scenarios retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so safety is covered. The description adds a real behavioral detail beyond annotations — related fields may be masked based on authorization — but it doesn't explain what masking means, which fields are affected, or whether the caller can detect masked values. That part is useful but under-specified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence with no wasted words, but it is under-specified rather than genuinely concise. It front-loads the return shape ('a single object') before stating what is being retrieved, which is backwards for selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter retrieve with no output schema and no parameter descriptions, the description should at minimum name the resource and describe the identifier. The masking note is the only substantive content; the rest an agent needs in order to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required 'id' parameter with 0% schema description coverage, and the description says nothing about it — no format, no indication of whether it is the operational scenario ID, a slug, or a reference ID. With low schema coverage the description should compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Return a single object with unauthorized related fields masked.' It never identifies the resource as an EBIOS RM operational scenario, so it reads as a generic retrieve and relies entirely on the tool name. It does not distinguish this from sibling retrieves such as operational_scenarios_object_retrieve, operational_scenarios_list, or operational_scenarios_likelihood_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling retrieval tools. It doesn't mention prerequisites, when to prefer list/object/cascade variants, or what 'unauthorized' masking implies for callers. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operational_scenarios_risk_matrix_retrieveApi ebios rm operational scenarios risk matrix retrieveDRead-onlyIdempotent
api_ebios_rm_operational_scenarios_risk_matrix_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered by structured data rather than the description. The description adds no behavioral context at all — no note on permissions, error behavior for an unknown id, or what the risk-matrix payload represents. It does not contradict the annotations, so it avoids a 1, but it contributes nothing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single slug with no front-loaded summary, no sentence structure, and no useful information. The problem is under-specification rather than verbosity, which caps this dimension at 2.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A parameterized retrieve operation with one required, undocumented path id, no output schema, and no annotation-independent documentation is left entirely unexplained. Given the enormous sibling set of near-identical ebios_rm retrievers, an agent has no basis to invoke this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'id' has 0% schema description coverage, so the description carries the full burden of explaining it and does nothing. An agent cannot tell from either source whether the id refers to an operational scenario, a study, a risk matrix, or a feared event.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation slug 'api_ebios_rm_operational_scenarios_risk_matrix_retrieve', which merely restates the name without a natural-language statement of what the tool does. One can infer it retrieves a risk matrix for an EBIOS RM operational scenario, but the description itself adds no clarifying verb, scope, or sibling differentiation against the many other ebios_rm *_risk_matrix_retrieve and *_retrieve operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool, when to prefer an alternative such as ciso_assistant_api_ebios_rm_operational_scenarios_retrieve or ciso_assistant_api_ebios_rm_studies_risk_matrix_retrieve, or what prerequisites (e.g. a valid operational scenario id) are required. Nothing in the text helps an agent choose this tool over its numerous siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_operational_scenarios_updateApi ebios rm operational scenarios updateDIdempotent
api_ebios_rm_operational_scenarios_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that - no mention of replacement semantics, permission requirements, or what happens to omitted fields, which is significant given the full-update verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from under-specification rather than economy - the single token is a machine identifier, not a front-loaded explanation of intent or effect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool taking an untyped body payload with no annotations explaining semantics beyond idempotency, and no output schema, the definition supplies none of the information needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The 'id' parameter and an opaque free-form 'body' object (anyOf object/null) are entirely undocumented, and the description does not compensate by naming any updatable fields, so the agent has no signal about what to put in body.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation identifier repeated verbatim ('api_ebios_rm_operational_scenarios_update'). It only implies 'update an operational scenario' through the name itself, with no independent statement of resource, scope, or effect, and no differentiation from the sibling *_partial_update or *_batch_action_create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or sibling routing guidance is present. An agent cannot infer from the description whether a full replacement or a merge-style update is intended, which matters because ciso_assistant_api_ebios_rm_operational_scenarios_partial_update exists alongside it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_ro_to_activity_retrieveApi ebios rm ro to activity retrieveCRead-onlyIdempotent
api_ebios_rm_ro_to_activity_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered without description help. The description adds nothing beyond that: no indication of what 'activity' contains, whether it is aggregated/time-series data, or what access scope is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is no wasted text because there is essentially no text — a single opaque identifier repeated as the description. This is under-specification rather than conciseness, leaving no front-loaded statement of what the call returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a meaningless API-jargon name, the description is the only place an agent could learn what this endpoint returns about 'activity' for an EBIOS RM ro_to object, and it provides none of that. Broken down across a huge sibling set of near-identical ro_to endpoints, the undefined term leaves the tool practically indistinguishable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters (additionalProperties: false), so there is nothing for the description to clarify about inputs. Per the baseline for 0-param tools, a 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool identifier verbatim ('api_ebios_rm_ro_to_activity_retrieve'), which is a tautological restatement of the name rather than an explanation. An agent can infer 'retrieve' and that it relates to EBIOS RM 'ro_to' entities, but nothing clarifies what an 'activity' sub-resource is or how it differs from the sibling ro_to_motivation_retrieve, ro_to_pertinence_retrieve or ro_to_resources_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no exclusions, and no mention of any alternative despite dozens of closely related ro_to siblings (ro_to_retrieve, ro_to_list, ro_to_object_retrieve, ro_to_cascade_info_retrieve). The agent must guess from the name alone which endpoint returns activity data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_ro_to_batch_action_createApi ebios rm ro to batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is mostly covered. The description adds only 'multiple objects' and does not explain what a batch action does, what payload is expected, whether partial failures are possible, or what permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. Its brevity is efficient, though it is under-specified rather than richly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a batch mutation tool with no described parameters, no output schema, and minimal annotations, the description is far too thin. It does not identify the target resource, what objects can be acted on, or what the batch operation returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there are no parameter semantics to document and the baseline is 4. The description's mention of 'multiple objects' is too vague to add meaningful parameter-level detail, but no parameters exist for it to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Perform a batch action on multiple objects,' which essentially restates the batch-action part of the tool name without identifying the Ebios RM RO/TO object type. With dozens of sibling *_batch_action_create tools, this generic phrasing does not let an agent distinguish this tool from any of them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or which alternative batch-action tool to choose. The description also omits any prerequisites or context such as which objects are eligible.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_ro_to_cascade_info_retrieveApi ebios rm ro to cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered by structured data. The description adds nothing beyond that – no note on what the preview returns, whether it is scoped by study, or whether it traverses relationships.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than conciseness: a two-word fragment that trails off with a colon and conveys no actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and an undocumented required `id`, the description should explain what the cascade preview returns and what object the id identifies. It does neither, so an agent cannot confidently invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter `id` has 0% schema description coverage, so the description carries the full burden of explaining what the identifier refers to (a study? a RO-to object? a cascade node?). It says nothing, leaving the required identifier completely ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" gestures at a read that previews cascade information, but it never names the resource (Ebios RM RO-to) or states a verb clearly. An agent cannot distinguish this from the dozens of sibling *_cascade_info_retrieve tools, since the fragment does not say what is being cascaded or previewed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool, no prerequisites, and no reference to any alternative such as the retrieve/list/object_retrieve siblings in the same ebios_rm_ro_to family. The agent must guess entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_ro_to_createApi ebios rm ro to createD
api_ebios_rm_ro_to_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare write semantics (readOnlyHint=false), non-idempotency, openWorld and non-destructive behavior, and the description neither contradicts them nor adds anything beyond them. Nothing is said about what the body must contain, what gets created, permission requirements, or what the response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Technically one line, but this is under-specification rather than conciseness — there is no content to front-load, and the single token is a machine-generated identifier rather than an explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with zero readable parameter documentation, no output schema, and a schema that accepts arbitrary objects, the definition leaves an agent unable to call it correctly at all.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One optional 'body' parameter with 0% schema description coverage and a bare anyOf object/null type; the description provides no compensating detail about the body's expected fields. The agent has literally no information about what to send.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated verbatim ('api_ebios_rm_ro_to_create'), a tautology that gives no verb+resource phrasing an agent could act on. It does not decode the 'ro_to' abbreviation (presumably risk origin / target objective in EBIOS RM) nor distinguish it from the many sibling ebios_rm create/list/destroy tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever: no when-to-use, no prerequisites, no mention of the sibling alternatives such as ciso_assistant_api_ebios_rm_ro_to_list, _update, or _destroy. With hundreds of near-identical sibling endpoints, this leaves selection entirely to name guessing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_ro_to_destroyApi ebios rm ro to destroyDDestructiveIdempotent
api_ebios_rm_ro_to_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 largely covered. The description adds nothing beyond them, however: it does not say whether the deletion cascades to dependent EBIOS RM objects, whether it is recoverable, or whether special permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single identifier token rather than a sentence, so it is under-specified rather than concise. There is no front-loaded statement of purpose, scope or consequence to justify its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, one-parameter mutation tool with no output schema, the description should at minimum name the resource being destroyed and warn about irreversibility. It provides none of that, leaving the agent entirely dependent on the tool name and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (id) with 0% schema description coverage, so the description carries the full burden and fails entirely. It never states that 'id' is the identifier of the RO/TO record to delete, nor its format (UUID) or what happens if it is invalid or already deleted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool identifier verbatim, 'api_ebios_rm_ro_to_destroy', so the only information available is what the name already encodes (destroy an EBIOS RM RO/TO record). It never explains what an 'ro_to' object is, and it does not differentiate the tool from the many sibling destroy endpoints or from the ro_to update/partial_update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to call this versus alternatives such as cisо_assistant_api_ebios_rm_ro_to_list, _retrieve, _update, or _batch_action_create. The agent must infer that this is a hard delete from the name 'destroy' alone, with no statement of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_ro_to_listApi ebios rm ro to listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| motivation | No | ||
| pertinence | No | ||
| is_selected | No | ||
| risk_origin | No | ||
| feared_events | No | ||
| ebios_rm_study | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so safety is covered. The description adds nothing beyond a vague internal note; it does not say what data is returned, how pagination works, or how the 'optimized data' 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but brevity here is under-specification rather than efficiency; the one sentence conveys implementation trivia instead of the information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 12-parameter list endpoint with no parameter documentation and no output schema requires a substantive description, and this provides essentially nothing about what the tool returns or how to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Twelve parameters (id, limit, offset, search, ordering, max_pages, motivation, pertinence, is_selected, risk_origin, feared_events, ebios_rm_study) have 0% schema description coverage and the description explains none of them. No filter semantics or pagination behavior is documented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates an implementation detail ('Override the list method to inject optimized data into the serializer context') rather than stating that it lists EBIOS RM risk-origin/targeted-objective records. It names no resource and gives no way to distinguish it from the many sibling list endpoints such as ciso_assistant_api_ebios_rm_ro_to_retrieve or object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus the sibling ro_to retrieve/object_retrieve or other EBIOS RM list tools. The agent is left to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_ro_to_motivation_retrieveApi ebios rm ro to motivation retrieveCRead-onlyIdempotent
api_ebios_rm_ro_to_motivation_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered structurally. The description adds nothing beyond that — no note on what data is returned, whether the resource must exist, or how it relates to the EBIOS RM study object.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is under-specified — a single cryptic identifier string with no front-loaded explanation. Brevity here is not conciseness but absence of content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a highly opaque domain term ('ro_to_motivation'), the description should explain what entity is retrieved and in what relation to the EBIOS RM study. It provides none of that, so an agent cannot confidently decide to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline rule the schema alone is sufficient and there is nothing for the description to disambiguate. Nothing is missing or misleading on the parameter side.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the machine-generated identifier 'api_ebios_rm_ro_to_motivation_retrieve', which restates the tool name without saying in plain language what resource is fetched or what a 'ro_to motivation' is. An agent cannot tell this apart from siblings like ro_to_activity, ro_to_pertinence, or ro_to_resources beyond guessing from the token order.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling retrieve endpoint to prefer. The description contains zero usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_ro_to_object_retrieveApi ebios rm ro to object retrieveDRead-onlyIdempotent
api_ebios_rm_ro_to_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and that it is non-destructive, so the safety profile is covered. The description adds nothing beyond that — no note on what object is fetched, permissions, or what happens on a missing id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that is under-specification rather than conciseness; the single restated identifier earns no information for the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A retrieve tool with an undocumented id parameter, no output schema, and no annotation-explaining text leaves the agent with nothing to distinguish the target entity. The definition is inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required 'id' parameter with 0% schema description coverage, so the description carries the full burden — and it supplies nothing about what kind of id it is (ROTO object? fear event? study?) or its format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name repeated: 'api_ebios_rm_ro_to_object_retrieve'. It gives no verb-plus-resource statement an agent could act on and does not distinguish this from siblings such as api_ebios_rm_ro_to_retrieve or api_entities_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many near-identical '_object_retrieve' or '_retrieve' siblings. The agent is left to infer everything from the snake_case name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_ro_to_partial_updateApi ebios rm ro to partial updateD
api_ebios_rm_ro_to_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, so the mutation/safety profile is covered structurally and the description does not contradict it. However, the description adds nothing beyond the annotations: it doesn't say what a partial update leaves untouched, what fields the body accepts, or what permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is no wasted text because there is essentially no text, but this is under-specification rather than conciseness. A bare identifier string is not a usable description for a mutation endpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A two-parameter, zero-coverage partial-update endpoint with an opaque free-form body and no output schema needs the description to explain the payload shape and mutation semantics. The description supplies none of this, so an agent cannot reliably call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters have 0% schema description coverage, and the 'body' parameter is an untyped anyOf object with additionalProperties=true, so the schema tells the agent nothing about accepted fields. The description does not compensate at all, leaving the agent with no way to construct a valid payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name ('api_ebios_rm_ro_to_partial_update'), which is tautological. The name at least encodes that this is a partial update of an 'ebios rm ro_to' resource, but the description adds no plain-language verb/resource statement and does nothing to distinguish it from siblings like api_ebios_rm_ro_to_update or api_ebios_rm_ro_to_partial_update relatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this versus the sibling api_ebios_rm_ro_to_update (full update), api_ebios_rm_ro_to_create, or api_ebios_rm_ro_to_retrieve. The critical partial-vs-full-update distinction is left entirely to the agent's inference from the name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_ro_to_pertinence_retrieveApi ebios rm ro to pertinence retrieveCRead-onlyIdempotent
api_ebios_rm_ro_to_pertinence_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered without the description. The description adds nothing beyond that: no statement of what is returned, whether the result is scoped to a study, or what 'pertinence' evaluation entails. It does not contradict the annotations, so it avoids a 1.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single token repeated from the name: no wasted words, but the size reflects under-specification rather than concision. There is no front-loading of intent because there is no content to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an agent this is essentially un-callable with intent: no output schema exists to explain the return value, and the description does not say what data comes back from a 'pertinence' endpoint in the EBIOS RM risk-analysis model. Nothing an agent needs in order to use it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero properties and additionalProperties=false, so there are no parameters whose semantics the description could clarify. Zero-parameter baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name ('api_ebios_rm_ro_to_pertinence_retrieve'), which is a raw auto-generated route string rather than a human-readable verb+resource. It signals a read ('retrieve') of something called 'pertinence' under EBIOS RM RO/TO, but never explains what a pertinence object is or does. This is textbook tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, no prerequisites, no alternatives. The sibling list contains near-identical endpoints (ro_to_retrieve, ro_to_object_retrieve, ro_to_list, ro_to_cascade_info_retrieve, ro_to_motivation_retrieve, ro_to_resources_retrieve, ro_to_activity_retrieve), and the description gives an agent no basis to choose among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_ro_to_resources_retrieveApi ebios rm ro to resources retrieveDRead-onlyIdempotent
api_ebios_rm_ro_to_resources_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 without the description. The description itself adds zero behavioral context — no indication of the RO/TO (risk-opportunity / target-object) relationship being returned or its scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single string is not concise-but-informative; it is under-specification dressed as a description. There is no front-loaded verb, resource, or outcome to orient the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and the description does not explain what is returned. For a zero-parameter retrieve endpoint inside a large ebios_rm family, the agent has no way to know what data this yields or whether to call it at all.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so the schema fully covers the input surface and the baseline of 4 applies. The description adds nothing, but nothing is missing on the input side.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim ('api_ebios_rm_ro_to_resources_retrieve'), a tautology that restates the title without stating what the call actually does. An agent learns nothing about what 'resources' are returned or how this differs from the ~30 other ebios_rm sibling retrieve endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative. Nothing distinguishes this from ciso_assistant_api_ebios_rm_ro_to_list, _retrieve, _object_retrieve, or the other ro_to sub-resource endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_ro_to_retrieveApi ebios rm ro to retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context by disclosing that unauthorized related fields are masked in the returned object. It does not explain authentication requirements, error behavior, or the extent of masking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted clauses. It is concise and directly states the return behavior, though it front-loads a generic 'single object' rather than identifying the EBIOS RM RO/TO resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve-by-id tool with no output schema, the description should at minimum identify the object type and clarify how the id parameter is used. It only notes masking of unauthorized related fields, leaving the resource identity and parameter meaning implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter, id, with 0% description coverage, and the description does not explain that id identifies the object to retrieve. It adds no meaning beyond the bare schema field name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it returns a single object and masks unauthorized related fields. It never names the resource being retrieved, so the agent must infer the object type from the tool name rather than the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this retrieve tool versus siblings such as the list, object_retrieve, or cascade_info operations. The description does not state any prerequisites, alternatives, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_ro_to_updateApi ebios rm ro to updateDIdempotent
api_ebios_rm_ro_to_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, but the description adds no behavioral context whatsoever. It does not say what fields get overwritten, whether unspecified fields are cleared (full PUT semantics), or what authorization is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token with zero waste, but this is under-specification rather than conciseness. There is no structure, no front-loaded purpose statement, and nothing that earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an opaque free-form body parameter, no output schema, and no annotations covering payload semantics, the definition is completely inadequate. Nothing an agent needs in order to call it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description provides no parameter information at all. The required 'id' and the free-form 'body' object (anyOf object/null, additionalProperties true) are completely undocumented, leaving an agent with no idea what payload shape to supply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool's own name, 'api_ebios_rm_ro_to_update', which restates the identifier rather than stating a verb and resource in readable terms. An agent cannot determine what resource is being updated or what 'ro_to' means, and there are numerous sibling update variants (ro_to_partial_update, ro_to_create, ro_to_destroy) that are not distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative-selection guidance is provided. The description gives no hint whether this is a full replacement update versus the sibling partial_update, nor what prerequisites or permissions apply.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_stakeholders_batch_action_createApi ebios rm stakeholders batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true, but the description adds nothing about what the batch actually does, whether it is reversible, what payload it expects, or what happens to objects not selected. For a non-idempotent mutation with zero extra behavioral context, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is short but purely boilerplate – it is under-specified rather than concise. Nothing about the resource, the operation, or the expected input is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with no annotations beyond safety flags, no output schema, and an empty input schema, the description should clarify the action type and payload requirements; it provides none of that, leaving the agent unable to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters (additionalProperties: false), which is itself confusing for a 'batch action' that presumably needs a payload; the description does nothing to explain how the target objects or action are supplied. With zero parameters the baseline is 4, but the unexplained empty schema and absence of any payload guidance pulls this to 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a generic template, 'Perform a batch action on multiple objects,' and never names the resource (EBIOS RM stakeholders) nor the action being performed (delete, update, etc.). It effectively restates the name's 'batch_action_create' fragment without adding specificity, so an agent cannot distinguish it from the dozens of sibling *_batch_action_create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this batch endpoint versus the single-object siblings (ebios_rm_stakeholders_create/update/destroy) or versus other batch action tools. No prerequisites, no selection criteria, no exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_stakeholders_cascade_info_retrieveApi ebios rm stakeholders cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: no mention of what a "cascade preview" contains, no scope/permission notes, and no indication of whether this performs a dry-run computation or a lookup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but not concise in any useful sense: a dangling label with a colon and no content. Nothing is front-loaded because there is nothing substantive to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and an opaque one-parameter schema, the description carries the full burden of explaining invocation and return semantics, and it provides none. For a retrieval preview endpoint in the EBIOS RM domain, an agent has no basis to decide when or how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter is just "id" (string) with no documented semantics. The description does not say what object the id refers to (a stakeholder, a study, an ecosystem?) or what the id format is, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a two-word fragment that restates the tail of the tool name (cascade_info_retrieve) without stating a verb or what resource is previewed. An agent cannot tell from this what the call actually returns, nor how it differs from the many sibling cascade_info_retrieve tools in other domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling (e.g. ciso_assistant_api_ebios_rm_stakeholders_retrieve or _object_retrieve) is the alternative. The trailing colon implies something was meant to follow and got truncated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_stakeholders_category_retrieveApi ebios rm stakeholders category retrieveCRead-onlyIdempotent
api_ebios_rm_stakeholders_category_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, destructiveHint=false, so the safety profile is covered. The description adds nothing beyond the identifier — no mention of what data is returned, whether it is a static enum set or scoped by study, or any auth/context requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is only a bare identifier — no wasted words, but also no prose structure or front-loaded explanation. Brevity here comes from under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description is the only place an agent could learn what a 'stakeholders category' retrieval returns (e.g. a fixed set of category choices used to populate stakeholder records). It provides none of that, leaving the tool effectively opaque in a directory of hundreds of similarly named endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters, so the baseline is 4; there is nothing for the description to compensate for. It does not misdescribe any inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw operation id 'api_ebios_rm_stakeholders_category_retrieve', which restates the title and name rather than stating what the tool does. An agent can guess it retrieves a stakeholder category (likely an enum/choice list) from EBIOS RM, but nothing confirms the resource type or that it is a choices/category endpoint rather than a list of stakeholders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus siblings such as ciso_assistant_api_ebios_rm_stakeholders_list, stakeholders_retrieve, or stakeholders_chart_data_retrieve. Selecting it requires guessing from the identifier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_stakeholders_chart_data_retrieveApi ebios rm stakeholders chart data retrieveCRead-onlyIdempotent
api_ebios_rm_stakeholders_chart_data_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds no behavioral context of its own: no indication of what data shape is returned, whether it is scoped to a study, or whether it is cached/derived. It is not contradictory, just empty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely short, but shortness here reflects under-specification rather than efficient structure. The single token is an identifier, not a front-loaded statement of purpose, so it wastes the one line it occupies.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, no parameters, and no description of the returned chart data, so an agent has no way to know what calling this produces (chart labels/values, per-stakeholder groupings, required prior selection context). For a chart-data endpoint in a large sibling set, the definition is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is an empty object with additionalProperties=false, so there is nothing for the description to explain. The baseline of 4 applies since no parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation identifier repeated verbatim ('api_ebios_rm_stakeholders_chart_data_retrieve'), which only restates the name. An agent can piece together that it retrieves chart data for EBIOS RM stakeholders, but nothing states what the chart represents or how it differs from siblings like stakeholders_list or studies_ecosystem_chart_data_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description contains no usage guidance whatsoever: no when-to-use, no when-not-to-use, no prerequisites, and no reference to any of the numerous sibling tools such as stakeholders_list or stakeholders_category_retrieve. The agent is left to infer selection purely from the identifier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_stakeholders_createApi ebios rm stakeholders createD
api_ebios_rm_stakeholders_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, but the description contributes zero behavioral context on top of that: no mention of what is created, side effects, validation failures, or whether duplicates are allowed. With annotations carrying the entire profile, the description provides no added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a one-token identifier with no sentence structure and no front-loaded explanation. Its brevity is under-specification rather than conciseness, since nothing informative is communicated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating create endpoint with a free-form body, no output schema, and zero parameter documentation, the description supplies nothing an agent needs to call it correctly. It is completely inadequate relative to the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'body' parameter is an untyped free-form object (additionalProperties: true, nullable, default null) with no description. The tool description does not say which properties the body must contain, so an agent has no way to construct a valid payload from either source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation identifier 'api_ebios_rm_stakeholders_create', which merely restates the tool name and title. It implies the resource (EBIOS RM stakeholders) and the action (create) only through the name itself, adding no sentence that states what the tool actually does or how it differs from siblings such as stakeholders_create vs stakeholders_batch_action_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool, what preconditions exist (e.g. an existing EBIOS RM study), or why to choose it over ciso_assistant_api_ebios_rm_stakeholders_batch_action_create. Nothing is said about required permissions or the parent study context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_stakeholders_destroyApi ebios rm stakeholders destroyDDestructiveIdempotent
api_ebios_rm_stakeholders_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is known; the description contributes nothing on top of that. It does not state what happens to dependent records (e.g. stakeholders referenced by strategic scenarios), whether deletion is soft or hard, or what permissions are required for a destructive operation. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is only one token, so there is no verbosity, but that brevity comes from under-specification rather than efficiency. Nothing is front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent-looking endpoint on a specific domain object, the description supplies none of the context an agent needs: identifier format, cascade side effects, or confirmation requirements. No output schema exists to offload that burden elsewhere.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is a bare string with no format hint. The description does not say whether this is a numeric primary key, a UUID, or a ref_id, leaving the one thing an agent must supply unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name repeated ('api_ebios_rm_stakeholders_destroy'), which is a tautology rather than an explanation. An agent can infer that it deletes an EBIOS RM stakeholder from the 'destroy' suffix, but the text itself adds no verb, resource, or scope statement beyond what the name already encodes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no usage guidance at all: no when-to-use, no when-not-to-use, and no pointer to alternatives such as the sibling stakeholders_partial_update or stakeholders_retrieve. The agent must guess entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_stakeholders_listApi ebios rm stakeholders listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| entity | No | ||
| offset | No | ||
| search | No | ||
| category | No | ||
| ordering | No | ||
| max_pages | No | ||
| is_selected | No | ||
| ebios_rm_study | No | ||
| applied_controls | No | ||
| current_criticality | No | ||
| residual_criticality | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds only an internal serializer-context optimization detail, not anything an agent needs about behavior, filtering scope, pagination, or return shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, so it is not verbose, but it is front-loaded with implementation terminology that does not earn its place for an agent selecting or invoking the tool. Being short is not sufficient when the content is internal and non-actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with 12 undocumented optional parameters, no output schema, and many sibling list/retrieve endpoints, the description is completely inadequate. It supplies no operational context for selecting filters or interpreting results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 12 parameters with 0% schema description coverage, and the description adds no information about any of them (limit, offset, search, category, ebios_rm_study, criticality filters, etc.). With low schema coverage, the description must compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does for a caller. It never says that the tool lists EBIOS RM stakeholders, so an agent cannot infer its actual purpose from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this list endpoint versus sibling tools such as object_retrieve, retrieve, or other EBIOS RM list endpoints. No prerequisites, filters, or usage context are described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_stakeholders_object_retrieveApi ebios rm stakeholders object retrieveDRead-onlyIdempotent
api_ebios_rm_stakeholders_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, destructiveHint=false, which covers the safety profile. The description adds no behavioral context whatsoever — no mention of what an 'object' retrieve returns, permissions, or error behavior on missing id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but its brevity is due to under-specification rather than economy; it is a raw identifier string, not a front-loaded sentence describing the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool with no output schema, no annotation-derived return info, and an undocumented id parameter, the description supplies nothing an agent needs to call it correctly or know what comes back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description says nothing about the single required 'id' parameter — not its format, whether it is a UUID, or what resource it identifies. With one undocumented parameter and no compensating text, the description fails completely here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool identifier restated verbatim ('api_ebios_rm_stakeholders_object_retrieve'), a tautology that adds no verb/resource framing beyond the name. An agent cannot tell from this text how it differs from siblings like stakeholders_retrieve, stakeholders_list, or stakeholders_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The sibling set contains several near-identical retrieve/list variants for stakeholders, so the absence of routing guidance is actively harmful rather than merely unhelpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_stakeholders_partial_updateApi ebios rm stakeholders partial updateD
api_ebios_rm_stakeholders_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false, but the description adds no behavioral context at all – not what a partial update preserves, not which fields are mutable, not auth or side effects. For a mutation tool the description carries the full remaining burden and delivers nothing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and wastes no words, but this is under-specification rather than conciseness – a single opaque token that gives the reader nothing to act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with an opaque free-form body, no output schema, no annotations explaining semantics, and 0% schema coverage needs a description to explain the payload – none is provided. Nothing an agent needs in order to call this correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two parameters: 'id' is undocumented and 'body' is an untyped free-form object with no property list. The description supplies no field names, no payload shape, and no indication of what a partial body should contain, so an agent cannot construct a valid call from it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the operation identifier repeated verbatim: 'api_ebios_rm_stakeholders_partial_update'. It restates the name/title rather than stating in prose what the tool does; an agent gains nothing beyond what it could parse from the slug itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool versus the siblings. With ciso_assistant_api_ebios_rm_stakeholders_update, _create, _retrieve and _list all present, the choice between full update, partial update, and create is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_stakeholders_retrieveApi ebios rm stakeholders retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description does add genuine behavior beyond them: related fields the caller is not authorized to see are masked in the response. It stops there, saying nothing about what happens on a missing or forbidden id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, so nothing is wasted. But it is under-specified rather than efficient: the sentence spends its length on masking behavior while omitting the subject of the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description is the only place return-shape context could live, and it gives none beyond 'a single object'. For a retrieve-by-id tool in a large sibling set it omits the resource identity, the id semantics, and any not-found/permission behavior, leaving the definition materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is exactly one parameter with 0% schema description coverage, and the description never mentions it at all. It does not clarify that 'id' is the stakeholder identifier, its format (UUID), or whether it is required, leaving the schema's bare string type to carry the whole load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Return a single object' without ever naming the resource (an EBIOS RM stakeholder) or stating that it fetches by identifier. The only informative content is a side effect about field masking, so the agent cannot infer purpose from the text alone and must rely on the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus siblings such as ciso_assistant_api_ebios_rm_stakeholders_list, _object_retrieve, _cascade_info_retrieve or _chart_data_retrieve. Nothing says it is a by-id single-record read nor what prerequisites exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_stakeholders_updateApi ebios rm stakeholders updateDIdempotent
api_ebios_rm_stakeholders_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is known. The description adds nothing beyond that — no statement of what fields are replaced, what happens to omitted fields, or whether auth/permissions are required for this mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is extremely short, but that brevity reflects under-specification rather than conciseness. It is not front-loaded with any useful information because there is none.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a free-form body parameter, zero schema documentation, and no output schema, the description should explain the payload and update semantics. It explains nothing, leaving the agent unable to call it reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the two parameters (id and body), and the description provides no compensating meaning. The body is an unconstrained free-form object, so without any description the agent has no idea what payload shape to send.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation identifier 'api_ebios_rm_stakeholders_update', which merely restates the tool name and title. An agent can infer a write operation on EBIOS RM stakeholders only by parsing the name itself; the description text contributes no distinguishing detail versus siblings like ciso_assistant_api_ebios_rm_stakeholders_partial_update or ciso_assistant_api_ebios_rm_stakeholders_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or how it differs from the sibling partial_update / batch_action / list tools. Nothing tells the agent whether full replacement semantics apply versus a merge.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_strategic_scenarios_batch_action_createApi ebios rm strategic scenarios batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is partly covered by structured data. The description adds nothing beyond that: it does not say what the batch action does, whether it is atomic, whether it requires a list of identifiers, or what happens on partial failure for a non-idempotent mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, so there is no waste to trim. However it is under-specified rather than concise, front-loading nothing that helps an agent decide or prepare a call.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world mutation with no parameters, no output schema, and no body documentation, the description leaves the agent unable to construct a valid call or predict effects. Given the complexity signals, this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema declares zero parameters, which sets a baseline of 4, but a batch action on a REST API normally requires an identifiers/action payload that this schema omits entirely. The description makes no attempt to explain the expected payload, so it fails to compensate for that omission; a 3 reflects the empty-schema credit without added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the name in generic terms: 'Perform a batch action on multiple objects' names no verb specificity and never says which resource is affected, even though the tool is scoped to EBIOS RM strategic scenarios. An agent cannot distinguish it from the dozens of other *_batch_action_create siblings without reading the tool name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is given. Critically, it never says which batch operations are supported (delete/update/duplicate) or that the batch semantics differ from the sibling create/update/destroy tools, leaving the agent no basis to choose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_strategic_scenarios_cascade_info_retrieveApi ebios rm strategic scenarios cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so safety is covered elsewhere. The description adds only the notion of a "preview" of cascade effects, with no disclosure of what the preview contains, whether it mutates anything transiently, or how large the cascade result can be.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here comes from under-specification rather than efficiency: a two-word fragment with a trailing colon conveys no actionable information and is not front-loaded with anything useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameter documentation, and only a fragment of prose, an agent has essentially nothing to decide when to call this tool or what it will receive back. For a cascade-impact query whose return shape is the entire value proposition, the description is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there is a single required "id" parameter, yet the description gives no indication of which entity the id refers to (a strategic scenario, an EBIOS RM study, a folder) or what format it takes. The one-word name "id" is the only clue, so 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.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a two-word fragment that restates the tail of the tool name (cascade_info_retrieve) rather than stating a verb and resource. An agent cannot tell from this whether it returns deletion impact data, a dependency tree, or a summary of linked objects, nor how it differs from the sibling cascade_info_retrieve tools for other entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus the strategic_scenarios_retrieve or destroy endpoints, and no mention of prerequisites or the situations where a cascade preview is warranted (e.g. before a destructive delete). There is no exclusion or alternative named anywhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_strategic_scenarios_createApi ebios rm strategic scenarios createD
api_ebios_rm_strategic_scenarios_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true, and idempotentHint=false, so the safety profile is covered. The description adds nothing beyond that, not what the request body must contain, not permission requirements, not what happens on duplicate creation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is under-specified, not because it is efficient. There is no front-loaded explanation of purpose or behavior to justify its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create/mutation endpoint with an untyped body, no output schema, and zero parameter documentation, the description omits everything an agent needs: payload shape, required relationships, and effect of the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and there is a single opaque 'body' parameter typed only as a free-form object with additionalProperties=true. The description provides no field names or structure, so the agent has no idea what to send.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name 'api_ebios_rm_strategic_scenarios_create' repeated verbatim, which is tautology. The name does imply creating an EBIOS RM strategic scenario, so an agent can infer the verb and resource, but the description itself contributes nothing beyond the identifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, when not to, or how it differs from the many siblings such as ebios_rm_strategic_scenarios_update, _partial_update, _batch_action_create, or _list. Nothing routes the agent among alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_strategic_scenarios_destroyApi ebios rm strategic scenarios destroyDDestructiveIdempotent
api_ebios_rm_strategic_scenarios_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds zero behavioral context beyond annotations. It does not state that deletion is permanent/irreversible, whether cascading deletes affect dependent operational scenarios or attack paths, whether permissions are required, or what a success response looks like. The destructiveHint=true annotation carries the entire burden and the description contributes nothing to it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short, but the content is an unedited machine identifier rather than a front-loaded human sentence. Brevity here reflects under-specification, not concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, open-world delete tool referencing an ID with no output schema, no annotations-explaining text, and dozens of similarly named destroy siblings – the description provides nothing to disambiguate which entity is removed or what the consequences are.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter ('id', required) and schema description coverage is 0%, so the description should clarify that the id is the strategic scenario's own ID rather than a study ID – an ambiguity that matters given the many nested EBIOS RM entities. It does not, but the 1-param schema makes the gap small. Baseline for a single simple id is roughly 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool's internal name repeated ('api_ebios_rm_strategic_scenarios_destroy'), a raw generated identifier with underscores. It never states in plain language that this deletes an EBIOS RM strategic scenario, and reveals nothing about the resource beyond what the name already encodes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance at all: no when-to-use, no prerequisites, no mention of related siblings such as strategic_scenarios_list, strategic_scenarios_retrieve, or the analogous *_destroy endpoints for feared events, operational scenarios, or studies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_strategic_scenarios_listApi ebios rm strategic scenarios listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| attack_paths | No | ||
| ebios_rm_study | No | ||
| attack_paths__isnull | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds only a note about serializer context optimization, which is developer-facing and tells the agent nothing about results, pagination, or filtering behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, so it is not bloated. However, brevity comes at the cost of substance: the single sentence conveys an implementation detail rather than the information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 undocumented parameters, no output schema, and no description of filters or pagination, the definition is far too thin for a list endpoint. The description does nothing to compensate for the schema's silence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 9 parameters (id, limit, offset, search, ordering, max_pages, attack_paths, ebios_rm_study, attack_paths__isnull), and the description supplies no meaning for any of them. The agent must guess filter syntax, whether attack_paths/ebios_rm_study take IDs, and what max_pages controls.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates an internal implementation detail ('Override the list method to inject optimized data into the serializer context') rather than stating what the tool returns. It never says it lists EBIOS RM strategic scenarios, leaving the resource identifiable only from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of the sibling strategic scenario tools (retrieve, object_retrieve, create) or when they would be preferred. An agent gets nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_strategic_scenarios_object_retrieveApi ebios rm strategic scenarios object retrieveDRead-onlyIdempotent
api_ebios_rm_strategic_scenarios_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is fully covered structurally. The description contributes nothing about authentication, scoping, related-object expansion, or 404 behavior — zero added value beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically short, but that is under-specification rather than conciseness: the single phrase carries no information beyond the tool name, so no sentence 'earns its place' because none exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and an undocumented id, the description is the only place to explain what is returned and how this differs from the ~10 sibling strategic-scenario endpoints; it does none of that. Annotations cover safety, which prevents a 1.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter 'id' with 0% schema description coverage, and the description says nothing about it — no format, no UUID-vs-slug clarification, no mention that it identifies a strategic scenario rather than a study or feared event. The parameter is conventional, which keeps this above 1, but the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the operation ID restated verbatim ('api_ebios_rm_strategic_scenarios_object_retrieve'), adding nothing beyond the name and title. From the identifier alone an agent can infer a single strategic-scenario lookup by id, but the description itself states no verb or resource in prose and does not distinguish it from sibling operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this versus the many adjacent EBIOS RM strategic-scenario tools (list, retrieve, object_retrieve, cascade_info_retrieve, studies_* variants). The agent must guess whether 'object_retrieve' differs from 'retrieve'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_strategic_scenarios_partial_updateApi ebios rm strategic scenarios partial updateD
api_ebios_rm_strategic_scenarios_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so the safety profile is carried by structured data. The description adds nothing beyond the identifier: no mention of which fields are updatable, whether omitted fields are preserved (PATCH semantics), or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is no padding, but that is because there is essentially no content; the single line is under-specification rather than conciseness, and nothing is front-loaded or structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque free-form body and no output schema, an agent has no information on payload shape, required fields, or return value. The description is completely inadequate for the complexity of the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description contributes nothing. The 'body' parameter is an untyped open object whose expected contents are entirely undocumented, and the required 'id' is unexplained. This is the worst case: neither schema nor description informs the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw operation identifier repeated verbatim. It contains the words 'partial update' and 'strategic scenarios', so an agent can infer a partial-update mutation on an EBIOS RM strategic scenario, but no plain-language verb+resource statement or 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool versus the many siblings such as api_ebios_rm_strategic_scenarios_update, _create, _destroy, or _batch_action_create. The agent must guess from the naming convention alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_strategic_scenarios_retrieveApi ebios rm strategic scenarios retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The one genuinely additive detail is that unauthorized related fields are masked, which tells the agent the payload may be permission-filtered; however, error behavior for missing ids and the shape of the masking are not described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, but the brevity comes at the cost of under-specification rather than economy. The most useful fragment, field masking, appears late and unexplained.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameter documentation, the description is the only place to explain what comes back and what an id refers to, and it does neither. For a per-object retrieve endpoint in a large sibling namespace, an agent is left guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'id' parameter has no type-of-identifier hint (UUID? integer? ref_id?). The description never mentions the id at all, so it does not compensate for the undocumented parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Return a single object', which conveys the retrieve semantics but never names the resource (an EBIOS RM strategic scenario). The agent must rely entirely on the tool name and sibling list to know what object is being fetched, and the id-based lookup is never stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the sibling list, object_retrieve, or cascade_info_retrieve variants. Nothing indicates that it requires a known id and is therefore a follow-up call after a list operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_strategic_scenarios_updateApi ebios rm strategic scenarios updateDIdempotent
api_ebios_rm_strategic_scenarios_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the base safety profile is available. The description adds nothing about whether the update replaces the full object, whether omitted fields are cleared, or permission requirements — a notable gap for a mutation with a full-body payload.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but shortness here reflects under-specification rather than efficiency — there is no front-loaded statement of purpose to be concise about. Nothing was trimmed because nothing was said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an untyped free-form body, no output schema, and no annotations covering payload semantics, the description should carry substantial weight and carries none. An agent has no basis for constructing a valid body.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the two parameters: 'id' and an opaque 'body' anyOf object with additionalProperties true. The description does not name a single updatable field or clarify the id format, leaving the entire payload shape undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim ('api_ebios_rm_strategic_scenarios_update'), a pure restatement with no added explanation of what a strategic scenario is or what updating one entails. The verb+resource can be inferred from the name alone, but the description contributes nothing beyond it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling partial_update, create, destroy, or batch_action variants, and no stated prerequisites. An agent must infer the distinction purely from the tool name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_studies_batch_action_createApi ebios rm studies batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=false, idempotent=false, openWorld=true, so the safety envelope is partly covered. However, the description adds nothing about what a 'batch action' actually performs, whether unknown targets are skipped or fail the whole batch, or that it is non-idempotent — critical for a bulk mutation. No annotation contradiction, but no added value either.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, but it is under-specified rather than concise — the sentence consumes the whole budget without conveying resource, action set, or payload expectations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent bulk-mutation endpoint with an empty parameter object and no output schema, the description supplies nothing an agent needs: no target resource, no action vocabulary, no payload shape, no failure semantics. This is far below adequate given the schema carries no information at all.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero properties with additionalProperties=false, so per the 0-param baseline the schema is nominally 'complete'. But the description claims action 'on multiple objects' while no parameter can identify objects or specify an action, and the description does nothing to explain that discrepancy or how targets are conveyed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Perform a batch action on multiple objects' restates the name and title (batch action) without naming the resource the action targets — EBIOS RM studies — or what the action does. Against dozens of near-identical *_batch_action_create siblings, an agent has no way to tell this one apart from, say, frameworks_batch_action_create or ebios_rm_attack_paths_batch_action_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when this tool should be chosen over the plain create/partial_update siblings, nor any mention of prerequisites, required permissions, or which 'actions' are valid. The only clues are the tool's machine-generated name, which the description does not reinforce or constrain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_studies_cascade_info_retrieveApi ebios rm studies cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 word "preview" loosely implies a non-persistent read, which is consistent with the annotations, but the description adds no further behavioral context (e.g., what cascade depth or related objects are included).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness; the text is a truncated label ending in a colon, so nothing is front-loaded except an incomplete phrase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an opaque required identifier, no output schema, and dozens of near-identical cascade/retrieve siblings, the description provides none of the information an agent needs to decide to call it or what to expect back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage and the description says nothing about it — not what entity it identifies (a study? a model id?), nor its format. With a low-coverage schema the description was required to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a bare fragment that restates the trailing words of the tool name rather than describing an action. It does not say what data is returned, what a 'cascade' refers to, or how this differs from the many sibling *_cascade_info_retrieve tools and the *_retrieve/*_object_retrieve tools in the ebios_rm studies family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to call this instead of ciso_assistant_api_ebios_rm_studies_retrieve, _object_retrieve, or the other cascade_info endpoints. The colon suggests an incomplete sentence, leaving the agent with no selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_studies_createApi ebios rm studies createD
API endpoint that allows ebios rm studies to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so the write/non-idempotent profile is covered structurally. The description adds nothing — no mention of what must be supplied, what is created, whether duplicates are allowed, or permission requirements — and its 'viewed or edited' phrasing misdescribes a create-only endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, which is structurally clean. But it is concise to the point of vacuity — the single sentence conveys no actionable information about the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with an opaque, undocumented request body, no output schema, and only terse annotations needs the description to explain the payload and create semantics; it does neither. An agent cannot use this tool correctly from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%: the single 'body' parameter is an unconstrained anyOf object with additionalProperties=true, so the schema supplies no field names at all. The description does not name a single ebios RM study attribute (name, perimeter, risk matrix, status), leaving the agent with no way to construct a valid request body.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name says 'create', but the description only says the endpoint 'allows ebios rm studies to be viewed or edited' — boilerplate that never states a creation action and even implies read behavior. It does not distinguish this tool from the many siblings (_list, _retrieve, _update, _partial_update, _destroy) on the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus ciso_assistant_api_ebios_rm_studies_list, _retrieve, _update, or _partial_update. The only hint at usage is the tool name itself; the prose describes viewing/editing, which would point an agent to the wrong sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_studies_destroyApi ebios rm studies destroyDDestructiveIdempotent
API endpoint that allows ebios rm studies to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, yet the description says the endpoint "allows ebios rm studies to be viewed or edited" — no mention that a study is permanently removed, nor any cascading-deletion consequences. This directly contradicts the destructive annotation, so it scores at the floor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so nothing is wasteful in length. However, brevity here comes from boilerplate omission rather than precision, and the key fact (deletion) is absent entirely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, irreversible operation with no output schema and no annotation-independent explanation of effect. The description gives an agent nothing about what gets destroyed, whether related EBIOs RM artefacts (fear events, scenarios, kill chains) are cascaded, or how to confirm success — wholly inadequate for a delete tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter `id` has 0% schema description coverage and the description says nothing about it — not that it identifies the ebios RM study to be deleted, nor its format. With one undocumented parameter, the description needed to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a generic Django-REST boilerplate ("API endpoint that allows ebios rm studies to be viewed or edited") that never states deletion, even though the tool name and annotations both indicate a destructive operation. An agent reading only the description would conclude this is a read/update endpoint and could mis-select it against siblings like ciso_assistant_api_ebios_rm_studies_retrieve or _partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no mention of the far safer alternatives in the sibling set (_partial_update, _update, _retrieve). Worse than silence: the description frames the tool as a view/edit endpoint, actively steering the agent away from the correct destructive use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_studies_ecosystem_chart_data_retrieveApi ebios rm studies ecosystem chart data retrieveDRead-onlyIdempotent
API endpoint that allows ebios rm studies to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows studies to be 'viewed or edited', but annotations declare readOnlyHint=true and the tool name ends in retrieve — the 'edited' claim is a direct contradiction. It also adds nothing beyond annotations about what the chart payload contains or its cost/shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not bloated, but brevity here comes from under-specification rather than discipline — the one sentence conveys no tool-specific information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must explain what the chart data response looks like, and it does not. With only one parameter and annotations covering the safety profile, the framework is simple, but the missing return-value context leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, and the description does not say whether id refers to the study, a workshop, or the chart itself. No compensation for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate: 'allows ebios rm studies to be viewed or edited' restates the resource but says nothing about the actual purpose — retrieving ecosystem chart data for a given study. It does not distinguish this endpoint from the sibling 'ecosystem_circular_chart_data_retrieve' or from the plain study retrieve endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool, when not to, or which sibling to prefer (e.g. circular vs non-circular ecosystem chart data). An agent would have to guess from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_studies_ecosystem_circular_chart_data_retrieveApi ebios rm studies ecosystem circular chart data retrieveDRead-onlyIdempotent
API endpoint that allows ebios rm studies to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows studies to be "viewed or edited", implying write capability, while the annotations declare readOnlyHint=true, destructiveHint=false and idempotentHint=true. That is a direct conflict, and no compensatory context (chart payload shape, what 'circular chart' means, taint of the id) is offered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so it is not verbose — but its brevity comes from under-specification rather than economy. Nothing is front-loaded about the chart data it returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should describe the shape of the returned circular chart payload (labels, series, grouping by ecosystem entity), but it says nothing. Only the annotations partially compensate by confirming this is a safe read; the core result contract remains undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter `id` is a bare string. The description never mentions the parameter at all, so it does not clarify whether `id` is the EBIOS RM study id, a chart id, or something else — the one gap the description most needed to close.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a generic Django REST Framework boilerplate line, "allows ebios rm studies to be viewed or edited", which restates the resource name and says nothing about the tool's actual job: returning ecosystem circular chart data for a study. An agent cannot distinguish it from siblings like ecosystem_chart_data_retrieve, visual_analysis_retrieve, or report_data_retrieve without reading the tool name and guessing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no exclusions, and no mention of the near-identical sibling ciso_assistant_api_ebios_rm_studies_ecosystem_chart_data_retrieve. The agent is given no basis for choosing among the many ebios_rm_studies_* retrieve endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_studies_export_xlsx_retrieveApi ebios rm studies export xlsx retrieveCRead-onlyIdempotent
Export EBIOS RM study data to Excel with multiple sheets.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds the useful detail that the workbook contains multiple sheets, but says nothing about generation cost, size limits, or permission requirements for exporting sensitive risk data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb and output format first and zero filler. Its brevity is appropriate, though the space saved is not used to add the missing return-format information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is the only place that could explain what the call returns (binary attachment, base64 payload, or download URL) and how to handle it — and it does not. For an export tool whose entire utility is the produced file, that is a significant omission for an otherwise minimal one-parameter schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, 'id', with 0% schema description coverage, so the description carries the full burden. It only implies that the identifier selects a study; it never states that 'id' is the EBIOS RM study identifier or what format it takes, leaving the parameter effectively undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource combination ("Export EBIOS RM study data to Excel") and adds the output shape (multiple sheets), so an agent can tell it apart from the many sibling list/retrieve/destroy EBIOS RM tools. It stops short of naming a near-neighbour such as the study report-data or visual-analysis retrievals, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to choose this over other EBIOS RM study endpoints that also expose study content (e.g. report data), nor does it state prerequisites such as study existence or permissions. The only implicit signal is 'Excel', which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_studies_gravity_retrieveApi ebios rm studies gravity retrieveDRead-onlyIdempotent
API endpoint that allows ebios rm studies to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows studies to be 'viewed or edited', implying a mutable operation, while annotations declare readOnlyHint=true and destructiveHint=false. This directly contradicts the structured metadata and, even setting that aside, discloses nothing about what the gravity endpoint actually returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no redundancy, but the brevity is achieved through under-specification rather than economy; nothing is front-loaded about the gravity action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a custom action endpoint with a required id, no output schema, and no parameter documentation, the description provides nothing an agent needs — not the return shape, not the semantics of 'gravity', not the distinction from the plain study retrieve.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description adds no meaning about the single required 'id' parameter — whether it is the study id, the gravity scale identifier, or a feared-event id. Only the bare parameter name in the schema gives any hint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is a generic DRF boilerplate sentence that restates the resource ('ebios rm studies') without ever explaining the 'gravity' action in the tool name. It does not distinguish this tool from sibling endpoints such as ciso_assistant_api_ebios_rm_studies_retrieve, _object_retrieve, _risk_matrix_retrieve, or _likelihood_retrieve, so an agent cannot tell what data this returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus the many sibling retrieve/list endpoints for the same resource. No prerequisites, no mention of the required study id or how the gravity result relates to feared events or risk matrices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_studies_likelihood_retrieveApi ebios rm studies likelihood retrieveDRead-onlyIdempotent
API endpoint that allows ebios rm studies to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description contradicts the annotations by stating the resource can be 'edited' while readOnlyHint=true declares a read-only operation. It also adds no useful behavioral context beyond what the annotations already provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but it is boilerplate that does not front-load the actual purpose. Every part of it is generic and partly misleading rather than earned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve-by-id endpoint in a very large API surface, the description fails to identify the likelihood resource, explain what is returned, or respect the read-only annotation. The readOnly annotation helps, but the contradiction and missing specificity leave the definition incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one required parameter, id, with 0% description coverage in the schema. The description does not explain that id identifies a likelihood record, so it adds no semantic value over the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it views or edits 'ebios rm studies' but omits the 'likelihood' subresource entirely. Its generic 'API endpoint' phrasing mostly restates the title rather than distinguishing this tool from the many sibling study endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus the study retrieve, list, or likelihood-related siblings. The phrase 'viewed or edited' implies ambiguous actions rather than a clear retrieval use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_studies_listApi ebios rm studies listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| genericcollection | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds nothing an agent can act on: 'inject optimized data into the serializer context' is a server-side rendering note, not a disclosure about filtering, pagination, permissions, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is spent on an implementation note rather than on what the tool does. Brevity here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter list endpoint with no parameter documentation and no output schema, the description should at minimum identify the resource and explain the query knobs. It does neither, leaving the agent unable to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Eight parameters (id, folder, search, ordering, limit, offset, max_pages, genericcollection) with 0% schema description coverage, and the description mentions none of them. With the schema silent, the description was the only place to explain filtering and pagination semantics, and it says nothing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description talks about an internal implementation detail ('Override the list method to inject optimized data into the serializer context') rather than stating that it lists EBIOS RM studies. Only the word 'list' hints at the operation; the resource is never named and the sentence would be meaningless to an agent that has not read the source code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus siblings such as ciso_assistant_api_ebios_rm_studies_retrieve, _object_retrieve, or the filtered helper endpoints. No conditions, no exclusions, no alternative named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_studies_object_retrieveApi ebios rm studies object retrieveCRead-onlyIdempotent
API endpoint that allows ebios rm studies to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The boilerplate phrase "viewed or edited" implies write capability, which conflicts with the declared readOnlyHint=true and idempotentHint=true. Beyond that contradiction, the description says nothing about permissions, what is returned, or what happens for a nonexistent id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, front-loaded, with no padding — but its brevity comes from being generic boilerplate rather than from being efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and an undocumented id parameter, the description would need to explain identifier format and return shape. It supplies neither, and it is ambiguous among several near-identical ebios RM studies retrieval siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the sole parameter (id, required, string) is undocumented in both schema and description. The description does not say whether the id is a UUID, integer, or ref string, so it adds no meaning over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (ebios RM studies) and a vague verb pair ("viewed or edited"), so an agent can guess it is a per-object lookup by id. But it is essentially a restatement of the tool name and gives no detail on what a study record contains or how it differs from studies_list, studies_retrieve, or studies_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this instead of ciso_assistant_api_ebios_rm_studies_retrieve, ..._studies_list, or ..._studies_object_retrieve, all of which are present as siblings. The agent must infer selection from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_studies_partial_updateApi ebios rm studies partial updateD
API endpoint that allows ebios rm studies to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=true; the description adds nothing beyond them and says nothing about what a partial update changes, whether omitted fields are preserved, or what response is returned. The vague 'viewed or edited' phrasing further muddies a mutation 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no waste, but the brevity is under-specification rather than efficiency — there is nothing front-loaded that an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with no output schema and zero parameter documentation, the description omits nearly everything needed: which fields are updatable, what the body uses for, and how errors or partial semantics behave.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters, so the description carries the full burden, yet it never mentions the required study `id` or that `body` is the partial field payload object. Zero semantic value added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is generic DRF boilerplate: 'allows ebios rm studies to be viewed or edited' names the resource but never states the actual verb (partial update / PATCH) nor distinguishes it from the sibling studies_retrieve, studies_update, or studies_list. An agent cannot tell from this sentence whether it reads or writes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of the update vs partial_update vs retrieve alternatives that exist among siblings, and no prerequisites (auth, permissions, existing study id).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_studies_quotation_method_retrieveApi ebios rm studies quotation method retrieveCRead-onlyIdempotent
API endpoint that allows ebios rm studies to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true and destructiveHint=false, but the description claims the endpoint allows studies to be "edited," which contradicts the read-only profile. Beyond that contradiction it discloses nothing about what the endpoint actually returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is concise. That brevity comes at the cost of usefulness, though: the one sentence that is present is generic and partly wrong, rather than front-loading real information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameter documentation, the description is the only place to learn what this endpoint returns. It doesn't supply that, and it never explains the "quotation method" concept the name refers to, so an agent cannot call this with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema leaves nothing to explain and the baseline is 4. The description adds no parameter meaning, but none is needed here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is boilerplate: "API endpoint that allows ebios rm studies to be viewed or edited" restates the resource name without stating a specific verb scope. It doesn't explain what a "quotation method" is or how it differs from the many sibling ebios_rm_studies endpoints (risk_matrix, gravity, likelihood, status).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no named alternative among the dozens of ebios_rm_studies siblings. An agent has no basis for choosing this over ciso_assistant_api_ebios_rm_studies_retrieve or the other lookup endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_studies_report_data_retrieveApi ebios rm studies report data retrieveCRead-onlyIdempotent
Endpoint to prepare comprehensive report data for an EBIOS RM study.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, so safety is covered. Beyond that the description contributes nothing: it doesn't say whether the response is a large aggregated payload, whether computation is expensive, or whether it requires the study to be in a specific workflow state. The word 'comprehensive' hints at aggregation but is not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler — appropriately sized, though brevity here reflects under-specification rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A read-only retrieval endpoint with no output schema and an undocumented parameter needs the description to say what is returned and how the id is scoped. Neither is present, so an agent cannot confidently choose it over the plain study retrieve or the xlsx export siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the single required `id` field is documented nowhere. The description never clarifies that `id` is the EBIOS RM study identifier (as opposed to a finding, assessment, or report id), which is the one thing it needed to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Prepare comprehensive report data for an EBIOS RM study" gives a resource (EBIOS RM study report data) and a rough action, so the general intent is inferable. But 'prepare report data' is ambiguous next to siblings like ebios_rm_studies_retrieve, ebios_rm_studies_export_xlsx_retrieve, or ebios_rm_studies_visual_analysis_retrieve, and the description never says what the data is for or how it differs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this rather than ebios_rm_studies_retrieve (fetch the study itself) or export_xlsx (rendered report). No prerequisites, no mention of whether the study must be complete or in a particular state.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_studies_retrieveApi ebios rm studies retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, so safety is covered. The description adds one genuinely useful behavioral fact not in annotations: related fields the caller is not authorized for are masked rather than omitted or erroring, which affects how the agent should interpret the response. It says nothing about permissions required or whether an unauthorized id yields 404 vs 403.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with zero redundancy, but it is under-specified rather than concise: the budget spent is tiny and the most important information (resource, parameter, return shape) is absent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should describe the returned study object's shape or at least the id semantics; it does neither. For a permission-sensitive read tool, the masking note is a start but does not make the definition complete enough to invoke confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (id) with 0% schema description coverage, so the description carries full responsibility for explaining it, yet it never mentions the id, its type/format, or that it identifies the study. The description adds no parameter meaning at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Return a single object', which restates the retrieve verb without naming the resource (an EBIOS RM study) or distinguishing it from siblings like object_retrieve, list, or cascade_info_retrieve. The one substantive phrase, 'unauthorized related fields masked', describes a behavior, not the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus ciso_assistant_api_ebios_rm_studies_object_retrieve or the list endpoint, and no mention of the required id or what happens if the id is unknown or inaccessible. The agent must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_studies_risk_matrix_retrieveApi ebios rm studies risk matrix retrieveDRead-onlyIdempotent
API endpoint that allows ebios rm studies to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, yet the description asserts the endpoint allows studies to be 'viewed or edited', implying a write capability that the annotations deny. It also says nothing about what a 'risk matrix' response contains or what authorization/tenant scoping applies, so beyond the contradiction it adds no behavioral information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is concise, but that brevity comes from under-specification rather than efficiency and nothing useful is front-loaded beyond the resource name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only retrieval with one opaque identifier and no output schema, the description does everything wrong: no indication of the returned risk matrix structure, no id semantics, and no clarification relative to the many sibling risk-matrix endpoints. Only the bare resource name is conveyed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is bare (string, no description). The description never mentions the id, so it does not compensate by clarifying whether it is the study UUID, a risk-matrix id, or an object reference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text restates the auto-generated endpoint name rather than describing the tool: it says ebios rm studies can be 'viewed or edited', which is both vague and omits the actual payload of interest, the risk matrix. It gives no way to distinguish this from siblings such as ebios_rm_studies_retrieve, ebios_rm_studies_risk_matrix_retrieve vs. operational_scenarios_risk_matrix_retrieve, or other risk_matrix endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no routing to alternatives such as ebios_rm_studies_retrieve (the study itself) or the feared_events/operational_scenarios risk_matrix variants. The agent must infer purpose purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_studies_status_retrieveApi ebios rm studies status retrieveCRead-onlyIdempotent
API endpoint that allows ebios rm studies to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 then claims the endpoint allows studies 'to be viewed or edited', which implies a write capability the annotations deny, and adds nothing about what a status endpoint actually returns (a choice list vs. an object).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, front-loaded with the resource. Its brevity is not the problem; the content is simply uninformative, but the dimension of size and structure is satisfied.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a zero-parameter schema, the description is the only place that could explain that this returns the status vocabulary for EBIOS RM studies and how to use it. It says nothing of the kind, so an agent cannot predict the response shape or when this call is warranted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; there is nothing for the description to compensate for on the schema side. It neither adds nor loses anything here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence names the resource (ebios rm studies) but the verb is generic boilerplate, 'viewed or edited', and never mentions what is distinctive about this tool: that it is the *status* endpoint. An agent cannot tell from this text how it differs from siblings such as ebios_rm_studies_retrieve, ebios_rm_studies_list or ebios_rm_studies_partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, no when-not-to-use, and no alternatives are named. The agent must infer from the tool name alone that this endpoint surfaces status values rather than a study record.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_studies_updateApi ebios rm studies updateCIdempotent
API endpoint that allows ebios rm studies to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing behavioral beyond boilerplate, and its 'viewed' wording rubs against the non-read-only annotation. It does not say whether the body replaces the resource, what fields are writable, or what happens to omitted fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no bloat, so length is not the problem. However, the one sentence is generic boilerplate rather than a front-loaded statement of what the update operation does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an update mutation with a free-form body and no output schema, the definition leaves out the information an agent actually needs: what the body should contain, whether it is a full or partial replacement, and the required 'id' semantics. Annotations cover idempotency and destructiveness, but the description does not compensate for the 0% parameter coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description says nothing about the required 'id' or the opaque 'body' object. With two undocumented parameters and a free-form body (additionalProperties: true), the description must compensate and gives the agent zero semantic information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF viewset boilerplate: 'allows ebios rm studies to be viewed or edited.' It names the resource but uses vague, dual-purpose verbs and does not distinguish this update operation from the many sibling tools such as partial_update, retrieve, list, or object_retrieve. An agent cannot tell from this sentence whether the tool reads or writes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternatives like ciso_assistant_api_ebios_rm_studies_partial_update or the retrieve/list siblings. The phrase 'viewed or edited' suggests it could be used for reading, which is especially unhelpful for routing an agent to the correct tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_studies_visual_analysis_retrieveApi ebios rm studies visual analysis retrieveDRead-onlyIdempotent
API endpoint that allows ebios rm studies to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows studies to be 'viewed or edited', but annotations declare readOnlyHint=true and destructiveHint=false — a direct contradiction of the mutability claim. Beyond that conflict it discloses nothing about what the visual analysis returns, whether it needs a specific study state, or how large the payload is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so length is fine. But it is boilerplate DRF text rather than a front-loaded statement of function, so brevity buys nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve endpoint with no output schema, the description should convey what the 'visual analysis' payload contains and how it differs from the plain retrieve. Instead it offers generic CRUD boilerplate, leaving the agent unable to predict results or confirm the read-only nature implied by annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the description carries the full burden and adds nothing — it never says which identifier (study id vs. referenced object id) is expected. Only the obvious path-parameter nature of 'id' keeps this above 1.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'API endpoint that allows ebios rm studies to be viewed or edited' restates the tool name's resource without saying what a 'visual analysis' actually is or returns. With many sibling endpoints in the same ebios_rm_studies family (retrieve, list, object_retrieve, report_data_retrieve, ecosystem_chart_data_retrieve), the agent has no basis to choose this one over them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to prefer it over ciso_assistant_api_ebios_rm_studies_retrieve or object_retrieve, and no prerequisites or exclusions. The agent must guess from the URL fragment alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_ebios_rm_studies_workshop_step_partial_updateApi ebios rm studies workshop step partial updateD
API endpoint that allows ebios rm studies to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| step | Yes | ||
| workshop | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds no behavioral context and its phrase 'viewed or edited' misleadingly suggests a read capability that a partial_update endpoint does 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but that brevity reflects under-specification rather than efficient communication. Nothing specific is front-loaded to help the agent act.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with no output schema and fully undocumented parameters, the description is far too thin. It does not explain the mutation target, required identifiers, or expected effect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three required parameters (id, step, workshop) have 0% schema description coverage, and the description does not explain any of them. The agent gets no semantic guidance on what 'step' or 'workshop' mean in this context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that an API endpoint allows 'ebios rm studies to be viewed or edited,' which is a generic DRF docstring rather than a specific verb+resource. It omits the actual target, a workshop step, and does not distinguish partial update from the many sibling ebios_rm_studies endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this instead of the retrieve, update, or other ebios_rm_studies siblings. The agent is left to infer usage entirely from the long tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_batch_action_createApi entities batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, but the description adds no behavioral context beyond them. It never says what a 'batch action' mutates, whether it is atomic or partial on failure, what permissions are required, or what the response contains — the main things an agent cannot infer from the hints for a bulk mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no wasted words, but that is because it says almost nothing. Conciseness here reflects under-specification rather than economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent bulk mutation with open-world reach, no output schema, and an opaque empty input schema, the description should explain the action vocabulary, id targeting, and result/partial-failure behavior. None of that is present, leaving the agent unable to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero declared parameters, the baseline is 4, but the empty schema (additionalProperties: false) hides the real payload — presumably a list of object ids and an action selector — and the description compensates with nothing. The agent learns neither the expected batch payload shape nor how the target 'objects' are identified, so this sits below the 0-param baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Perform a batch action on multiple objects' restates the name's 'batch action' without naming the resource (entities) or which actions are supported. Against hundreds of sibling '*_batch_action_create' tools, the description provides nothing that distinguishes this one from, for example, assets_batch_action_create or findings_batch_action_create — only the tool name carries the resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus siblings such as entities_batch_create_create, entities_update, or entities_partial_update. It doesn't say which actions are available (delete? update fields? assign?), nor any precondition or bulk-size limit, so the agent must guess from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_batch_create_createApi entities batch create createC
Batch create multiple entities from a text list.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose a non-read-only, non-idempotent, open-world write operation, so the description's only added signal is 'from a text list' — which hints at bulk parsing but says nothing about format, delimiters, duplicate handling, or partial-failure behavior. For a non-idempotent bulk mutation, that is a thin contribution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. The only weakness is that 'text list' is doing work it cannot support without further explanation, so brevity shades into under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a bulk-creation tool there is no output schema to lean on and the description supplies neither the payload format nor the response shape. The mismatch between 'text list' and an empty, closed input schema leaves an agent unable to construct a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero declared parameters would normally earn the baseline 4, but the description asserts data is created 'from a text list' while the input schema is an empty object with additionalProperties: false. This actively misleads about where the payload goes, so it drops below the zero-param baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource plus the input shape: 'Batch create multiple entities from a text list.' An agent can tell it is a bulk-creation operation distinct from the single-item entities_create, though it never names that sibling or entities_batch_action_create explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no exclusions. The sibling set contains at least three plausible alternatives (entities_create, entities_batch_action_create, entities_partial_update) and the description gives no rule for choosing among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_cascade_info_retrieveApi entities cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: it does not say what the response contains, whether it is expensive, or what 'cascade' means in this system.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words and a colon: nothing is wasted, but nothing is communicated. This is severe under-specification rather than conciseness, and the fragment is not even a complete sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must explain what the 'cascade info' payload looks like and why an agent would request it; it does neither. For a read tool whose only value is its return content, this is entirely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter 'id' with 0% schema description coverage, and the description never explains what id refers to (entity id? which entity type?) or what happens for an invalid id. Only the endpoint name lets an agent infer it is an entity identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" essentially restates the name (cascade info retrieve) without a verb, an object, or any indication of what is being previewed. It does not distinguish this from the dozens of sibling *_cascade_info_retrieve tools for other resources, nor from entities_list / entities_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all: no when-to-use, no mention of the alternative entity endpoints, no note that this is typically a pre-deletion impact check. The trailing colon even suggests truncated content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_country_retrieveApi entities country retrieveCRead-onlyIdempotent
API endpoint that allows entities to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, but the description says the endpoint allows entities to be 'viewed or edited', implying mutation capability that the annotations deny — a boilerplate-induced contradiction that could mislead an agent. Nothing is said about what is returned (a country/value list), whether auth is needed beyond session, or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, which is good, but the words spent are low-information boilerplate rather than a front-loaded statement of what the call returns. Brevity here comes from under-specification, not discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no parameter schema to lean on, so the description is the only source of information about the response — yet it says nothing about returning a list of country choices. For a reference-data lookup in a CISO Assistant API, that leaves the agent unable to predict the payload.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. The description neither helps nor harms here, since the empty schema is self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'API endpoint that allows entities to be viewed or edited' restates the generic Django REST Framework resource boilerplate and never says what this endpoint actually returns. The name says 'country', but the description never mentions countries, enumerations, or reference data, so an agent cannot tell it apart from entities_list or entities_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no reference to the obvious alternatives (entities_list, entities_retrieve, entities_object_retrieve) among the ~40 entities_* siblings. Only an implicit 'this is a read endpoint' can be inferred from the phrasing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_createApi entities createD
API endpoint that allows entities to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false and openWorldHint=true. The description adds nothing (no payload expectations, no side effects, no required fields) and describes a read/edit capability that a create-only endpoint does not have, so it muddies rather than informs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence, so there is no bloat, but it is under-specified rather than concise — the one sentence it does have is generic and does not front-load the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a fully opaque body parameter, no output schema and no annotations beyond safety hints, the description should explain what an entity is and what fields are accepted. None of that is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'body' parameter is an untyped open object (additionalProperties: true) with no field documentation. The description supplies zero information about what the request body must contain, so an agent cannot construct a valid call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a boilerplate DRF line that restates the resource ('entities') and vaguely mentions viewing or editing. It never states the actual operation — creation — which only the tool name conveys, and 'viewed or edited' actively points away from what the endpoint does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many siblings (entities_list, entities_update, entities_partial_update, entities_batch_create_create). Worse, 'viewed or edited' would steer an agent toward using it for reads or updates, which is misleading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_currency_retrieveApi entities currency retrieveCRead-onlyIdempotent
API endpoint that allows entities to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered without the description. The description adds nothing beyond that boilerplate, and its 'viewed or edited' wording weakly implies mutation capability that conflicts with readOnlyHint; it does not say what the response contains (a static enum of currency values) or that the result set is small and cacheable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, but it is under-specified rather than concise: the one sentence conveys no resource-specific content, and the most useful fact (that it returns currency options) is absent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter retrieve endpoint with no output schema, the description carries the full burden of saying what comes back, yet it never states that the payload is the list of supported currencies. An agent cannot tell from the definition whether this returns one entity's currency, a currency code, or the enumeration of selectable currencies.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters with 100% schema coverage, so there is nothing for the description to disambiguate. Baseline 4 applies; no parameter meaning is missing because no parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'API endpoint that allows entities to be viewed or edited' is generic DRF boilerplate that restates the title without saying the endpoint returns the currency choice list for entities. It names no specific verb+resource combination that distinguishes it from the dozens of sibling entity endpoints (entities_list, entities_retrieve, entities_object_retrieve, entities_country_retrieve), and it never mentions 'currency' at all.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the alternative entity endpoints, and no indication of when an agent should call this rather than ciso_assistant_api_entities_retrieve or ciso_assistant_api_entities_country_retrieve. The agent must guess from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_destroyApi entities destroyCDestructiveIdempotent
Convert Django's ProtectedError into a 409 Conflict with the list of
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is covered. The description adds genuine non-annotation context — that a Django ProtectedError is surfaced as a 409 Conflict listing dependents — which tells the agent how failure looks and that deletion may be blocked by references. It stops short of saying what gets destroyed or whether cascade occurs, and the sentence is truncated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but is cut off mid-thought ('with the list of'), leaving an incomplete statement. Brevity here reflects missing content, not discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive single-resource deletion with no output schema, the description should say what is deleted, by what identifier, and what the blocked-deletion case implies. Only the last item is partially covered; the core operation is undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only one required 'id' parameter at 0% schema description coverage, the description must compensate and does not: it never indicates that the id identifies the entity instance to delete. The 409 text says nothing about the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never states that this tool deletes an entity; it only describes an internal error-to-HTTP mapping. The verb is implicit at best, and the resource is never named, so an agent must infer 'destroy' from the tool name and annotations rather than the text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given, and no alternative (e.g. sibling cascade_info or object_retrieve tools) is mentioned. The only usable hint is that deletion may fail when protected relations exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_dora_entity_hierarchy_retrieveApi entities dora entity hierarchy retrieveCRead-onlyIdempotent
API endpoint that allows entities to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, yet the description claims the endpoint 'allows entities to be viewed or edited' — an edit claim that directly conflicts with the read-only annotation. Nothing is said about what the DORA entity hierarchy actually contains, its depth, or scoping.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler padding, which is structurally fine, but the sentence is boilerplate that conveys almost no information relative to its length. Brevity here comes from under-specification rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-argument retrieval endpoint with no output schema, the description is the only source of information about what comes back, and it says nothing about the hierarchical structure, its members, or ordering. The annotations cover only the safety profile, leaving the agent unable to predict the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero properties, so there is no parameter semantics for the description to add; the baseline of 4 applies. The description neither adds nor detracts from a no-argument call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only says it is an 'API endpoint that allows entities to be viewed or edited', which essentially restates the resource in the tool name without naming DORA, entity hierarchy, or what the hierarchy view returns. An agent cannot distinguish this from the many other entity-related siblings (entities_retrieve, entities_object_retrieve, entities_graph_retrieve, entities_dora_entity_type_retrieve) based on the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance whatsoever: it does not say when to call the DORA entity hierarchy endpoint versus entities_retrieve or entities_graph_retrieve, nor what inputs (0 params) are required. The phrase 'viewed or edited' actively muddies the picture by implying a write capability that does not exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_dora_entity_type_retrieveApi entities dora entity type retrieveDRead-onlyIdempotent
API endpoint that allows entities to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says entities can be 'viewed or edited,' but annotations declare readOnlyHint=true. That is a direct contradiction about the tool's behavioral profile, and the description adds no useful read-only or DORA-specific context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is boilerplate and does not front-load the actual resource, operation, or distinguishing behavior. The wording is concise only because it omits necessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even for a zero-parameter retrieve endpoint, the description fails to say what is returned or that it is a DORA entity type lookup. It also contradicts the read-only annotations, leaving the agent less informed than the structured fields alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics to document. The description does not need to explain parameters beyond what the empty schema already conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic boilerplate: 'API endpoint that allows entities to be viewed or edited.' It does not identify the specific DORA entity type resource or clarify that this is a retrieve operation, despite the tool name and its many sibling retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives no guidance on when to use this tool versus alternatives such as ciso_assistant_api_entities_retrieve or ciso_assistant_api_entities_dora_entity_hierarchy_retrieve. Worse, 'viewed or edited' implies edit usage, which is misleading for a retrieve-only endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_dora_provider_person_type_retrieveApi entities dora provider person type retrieveCRead-onlyIdempotent
API endpoint that allows entities to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows entities to be 'viewed or edited', while annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false for what is a retrieve-only route. That is a direct conflict with the structured safety profile, and the boilerplate adds no other behavioral context (scope of the returned type list, auth requirements, pagination).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no padding, but the brevity comes from boilerplate rather than from precise, information-dense wording. It is concise without being useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter retrieve with annotations and no output schema, the description still needs to say what is returned (a list of DORA provider person types) and where it is used; it says neither. Only the annotations keep an agent from guessing entirely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters and schema coverage is 100%, so there is nothing for the description to explain; baseline 4 applies. No parameter guidance is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic boilerplate: 'API endpoint that allows entities to be viewed or edited.' It never mentions the DORA provider person type resource implied by the name, or the fact that this is a read-only retrieve of a taxonomy/choice list. With hundreds of sibling entity endpoints, an agent cannot distinguish this from ciso_assistant_api_entities_dora_entity_type_retrieve or entities_list based on the text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no reference to alternatives such as the DORA entity type or entity hierarchy retrieve endpoints. The agent is left to infer from the tool name alone when this retrieve should be called.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_dora_roi_lint_retrieveApi entities dora roi lint retrieveARead-onlyIdempotent
Validate DORA ROI requirements and return linting results.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so safety behavior is covered. The description adds that it returns linting results, confirming a read-only validation operation. However, it does not describe what lint checks are performed, error behavior, or the response shape, leaving some behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It immediately states the action and return type, which is appropriate for a zero-parameter validation tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and rich annotations covering safety and idempotency, the description needs to explain the output since there is no output schema. It mentions 'linting results' but does not describe their format, severity levels, or content, which is a meaningful gap for an agent interpreting the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. There are no parameter semantics for the description to clarify, and the schema is empty as expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: validate DORA ROI requirements and return linting results. This is clear enough for an agent to understand the operation. However, it does not explicitly contrast with the sibling tool ciso_assistant_api_entities_generate_dora_roi_retrieve, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking DORA ROI compliance through linting, but offers no explicit when-to-use or when-not-to-use guidance. It does not mention the generate_dora_roi sibling or clarify whether validation should occur before or after generation, leaving the agent to infer the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_export_csv_retrieveApi entities export csv retrieveCRead-onlyIdempotent
API endpoint that allows entities to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, yet the description says entities can be 'edited' via this endpoint, implying a write capability that the annotations deny. It also omits the one behavioral fact that matters here - that the response is a CSV file export - so it adds nothing usable and contradicts the structured 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but it is boilerplate that conveys no actionable information and is not front-loaded with the export behavior. Brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place to explain that the call returns a CSV of entities (and any scope/filter behavior). It omits all of that, so an agent cannot know what it will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; there is no parameter semantics for the description to explain and nothing is missing on that axis.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate: 'allows entities to be viewed or edited' names the resource but never says this tool exports entities as a CSV file, which is the only thing distinguishing it from entities_list or entities_export_xlsx_retrieve. It restates a vague CRUD notion rather than stating a specific verb+output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of the alternative export tools in the sibling list (entities_export_xlsx_retrieve, entities_list). An agent has no textual basis for choosing this over another entity read tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_export_ecosystem_retrieveApi entities export ecosystem retrieveBRead-onlyIdempotent
Export the TPRM ecosystem as a multi-sheet Excel file with three sheets
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and idempotentHint=true, so safety is covered. The description adds the useful fact that the output is a multi-sheet Excel workbook with exactly three sheets, which is behavioral context not present in the annotations. It says nothing about permissions/role requirements for exporting the TPRM ecosystem, which is the remaining gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the verb and resource and packs the only two extra facts (Excel format, three sheets) without filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter export with no output schema, the description conveys format and sheet count, which is adequate to invoke it. It does not say what the three sheets contain or how this report relates to the sibling entity export endpoints, so an agent choosing among the export family could still pick wrong.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema has nothing to document and the description does not need to explain any inputs. That is the baseline-4 case; the description correctly does not waste words on parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (export), a specific resource (the TPRM ecosystem) and the output artifact (multi-sheet Excel with three sheets), which an agent can tell apart from the general entities export siblings. It stops short of naming the closest siblings (entities_export_xlsx_retrieve, entities_export_csv_retrieve), so the differentiation is inferred from 'ecosystem' rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of the alternative export endpoints (entities_export_xlsx_retrieve, entities_export_csv_retrieve, analytics_export_xlsx_retrieve). The agent must guess whether the ecosystem report or the generic xlsx export is the right call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_export_xlsx_retrieveApi entities export xlsx retrieveCRead-onlyIdempotent
API endpoint that allows entities to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, but the description claims the endpoint allows entities to be "viewed or edited," directly contradicting the read-only annotation. It also fails to disclose what an XLSX export returns or how it behaves, despite annotations carrying 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, but it is generic boilerplate that does not earn its place. It omits the key operation (XLSX export) and instead emphasizes view/edit behavior that is not relevant to this retrieve-export tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only XLSX export endpoint with no parameters and no output schema, the description should at least state that it exports entity data as an XLSX file. Instead it gives only a generic API endpoint sentence and does not describe what is exported or when the result should be used.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100%, so there are no parameter semantics to explain. The description does not need to compensate for any schema gaps, making the baseline 4 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that the endpoint allows entities to be "viewed or edited," which does not mention the XLSX export behavior implied by the tool name and title. It is generic boilerplate that fails to distinguish this export operation from sibling entity tools like export_csv, list, or retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this XLSX export versus alternatives such as ciso_assistant_api_entities_export_csv_retrieve, ciso_assistant_api_entities_list, or ciso_assistant_api_entities_retrieve. The only usage implication is misleading, since it suggests viewing or editing entities rather than exporting them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_generate_dora_roi_retrieveApi entities generate dora roi retrieveBRead-onlyIdempotent
Generate DORA Register of Information (ROI) as a zip file containing CSV data.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered. The description adds useful behavior beyond that, namely that the output is a zip archive containing CSV files rather than JSON, but says nothing about generation cost, prerequisites (entities/contracts must exist), or whether the result is a download stream.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the key output format is attached directly to the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, no-output-schema tool, the description does cover the return shape (zip of CSVs), which is the main gap. However, with an adjacent lint sibling and no note on prerequisites or failure modes when DORA data is incomplete, an agent still lacks routing context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. It correctly implies generation is scoped to the whole workspace with no filters, which matches the empty input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description pairs a specific verb (Generate) with a specific resource (DORA Register of Information / ROI) and even states the artifact form, a zip of CSV data. It is clearly distinguishable from read-only burst siblings such as entities_dora_roi_lint_retrieve, though it never names or contrasts with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus the closely related entities_dora_roi_lint_retrieve (validate) or the various export_csv/export_xlsx siblings. An agent must infer the use case from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_graph_retrieveApi entities graph retrieveCRead-onlyIdempotent
Generate graph data for entities, showing:
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description contributes nothing beyond that — it does not say what nodes/edges are returned, whether data is scoped to the current tenant, or what the 'showing:' list would have contained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but short because it is truncated — the sentence ends on a colon with no list following. Structurally broken rather than concise; the fragment conveys less than a single complete sentence would.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only source of information about the response, and it provides none — no shape of graph data, no indication of which entities are included, no hint about scale or scoping. An agent cannot predict the return value at all.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and schema coverage is 100%, so there is nothing for the description to disambiguate. The dangling 'showing:' implies fields that are never enumerated, but with no parameters this is the baseline-4 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a verb and resource ('Generate graph data for entities'), so the basic purpose is recoverable, but it is cut off mid-sentence at 'showing:' and offers no differentiation from siblings like assets_graph_retrieve or requirement_mapping_sets_graph_data_retrieve, which do analogous graph work 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the many other graph/retrieve endpoints, no prerequisites, and no mention of what the graph represents (entity hierarchy, ecosystem map, DORA chain). The agent is left to infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_listApi entities listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| ref_id | No | ||
| search | No | ||
| country | No | ||
| currency | No | ||
| ordering | No | ||
| contracts | No | ||
| is_active | No | ||
| max_pages | No | ||
| relationship | No | ||
| default_trust | No | ||
| parent_entity | No | ||
| default_maturity | No | ||
| dora_entity_type | No | ||
| filtering_labels | No | ||
| default_dependency | No | ||
| relationship__name | No | ||
| default_penetration | No | ||
| dora_entity_hierarchy | No | ||
| dora_competent_authority | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so safety is covered. The description adds nothing beyond a vague hint of performance optimization in serialization; it does not mention pagination, filtering behavior, or that it returns a paginated collection, which is the behavior an agent actually needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no bloat, but brevity here comes from under-specification rather than discipline. The one sentence it spends is on internal implementation detail that does not help tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 24-parameter list endpoint with no output schema, no parameter documentation and no annotation-independent explanation is left almost entirely unexplained. The description neither compensates for the schema gap nor tells the agent what a successful response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 24 parameters with 0% schema description coverage, and every property is a bare anyOf/null with no type or meaning. The description contributes zero information about what id, ref_id, search, limit, offset, ordering, filtering_labels, or the DORA-specific fields do. This is the worst case: both schema and description are silent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description reads as an internal implementation comment ("Override the list method to inject optimized data into the serializer context") rather than a statement of what the tool does for a caller. It only indirectly implies listing entities via the word "list"; an agent cannot tell from this text that it retrieves a filtered collection of entities, nor how it differs from ciso_assistant_api_entities_retrieve or entities_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool, when not to, or which sibling to choose instead. With dozens of entities_* siblings (retrieve, object_retrieve, export_csv, graph_retrieve), the absence of routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_object_retrieveApi entities object retrieveCRead-onlyIdempotent
API endpoint that allows entities to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says entities can be 'viewed or edited', implying a write capability, while the annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false. That is a direct inconsistency about the tool's side-effect profile. Beyond the contradiction, the description adds no behavioral context of its own (no auth, no return shape, no side effects).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no wasted clauses, so it is structurally fine and front-loaded. Its brevity is not a virtue here because the content is pure boilerplate rather than information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter single-object retrieve with no output schema, the description should at minimum state that it fetches one entity by id and that it is read-only. It does the opposite on the read-only point and says nothing about the result, leaving the agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'id' parameter is an undescribed string. The description does not compensate at all: it never mentions the id, its format, whether it is a UUID or numeric pk, or what happens when the id does not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names the resource (entities) and gestures at an operation (view or edit), so the agent knows it is about entities. But 'API endpoint that allows entities to be viewed or edited' is generic Django-REST boilerplate and does not distinguish this tool from the many sibling retrievers (entities_retrieve, entities_list, entities_cascade_info_retrieve, entities_object_retrieve), nor does it say which one returns a single entity by id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite (an id is required), and no reference to any alternative among the numerous entities siblings. The agent must infer usage entirely from the tool name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_partial_updateApi entities partial updateD
API endpoint that allows entities to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that: it never says this is a partial (merge) mutation, that unspecified fields are left untouched, that an id must exist first, or what is returned. The word "viewed" is also loosely misleading for a write endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so it is concise, but it is concise to the point of carrying no information. Conciseness here is achieved by omission rather than by efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with no output schema, an untyped free-form body, and 0% schema description coverage needs the description to explain what can be changed and what happens on success or failure. Nothing of that is present, so the definition is inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden and provides none. It does not explain that id identifies the target entity, nor that body is a free-form object of fields to merge, which leaves the key input entirely opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the generated title ("entities... viewed or edited") rather than stating that this partially updates an existing entity identified by id. It is generic DRF boilerplate that an agent could not distinguish from ciso_assistant_api_entities_update, entities_create, or entities_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the sibling entities_update (full PUT) vs this partial PATCH, and no prerequisites. Worse, "viewed" implies the tool could be used for reads, so an agent gets no routing signal at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_retrieveApi entities retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds a useful behavioral detail not in the annotations: unauthorized related fields are masked, but it does not explain the masking rules, permission requirements, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. Its brevity is efficient, though it contributes to gaps in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool with 0% parameter description coverage and no output schema, the description omits the resource name and id semantics. Annotations cover the safety profile, but the description is not complete enough for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required id parameter, and the description does not explain that id identifies the entity, its format, or lookup semantics. The schema alone leaves the parameter undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns a single object and mentions masking, but never names the resource (entity) or distinguishes it from sibling tools such as entities_list or entities_object_retrieve. The verb is clear, but the object is too generic to be precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus entities_list or entities_object_retrieve, and no prerequisites are stated. Usage is only implied by the required id parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entities_updateApi entities updateDIdempotent
API endpoint that allows entities to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the description owes context about what gets replaced or requires authorization. Instead it adds only the misleading 'viewed' framing and says nothing about full-replacement semantics, required permissions, or the opaque request body.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, but it is short through under-specification rather than efficiency. The one claim it does make ('viewed') is not useful for an update endpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an untyped body schema, no output schema and only sparse annotations, the description should explain payload expectations and effects. As written, an agent has nothing to rely on except the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description names no parameters at all. The 'body' parameter is a free-form object of additionalProperties:true with no documented fields, so the description leaves the caller with no idea what payload to send beyond an 'id'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the name/title: 'API endpoint that allows entities to be viewed or edited' names no specific verb beyond a generic 'viewed or edited' and no scope. It cannot be distinguished from siblings such as ciso_assistant_api_entities_retrieve, ciso_assistant_api_entities_list, ciso_assistant_api_entities_partial_update or ciso_assistant_api_entities_destroy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no distinction from partial_update (PATCH) vs update (PUT) vs destroy, and no prerequisite or permission information. Worse, it suggests the tool can be used to 'view' entities, which is what the retrieve/list siblings already do.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entity_assessments_batch_action_createApi entity assessments batch action createD
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, idempotentHint=false, openWorldHint=true, and the description adds nothing beyond them: no permissions required, no all-or-nothing vs. per-item failure semantics, no confirmation that re-running has different effects. For a non-idempotent mutation, this is a major disclosure gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, and the batching concept leads. It is efficient but paper-thin rather than dense, so it loses the top mark for being under-specified rather than for padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and only negative-safety annotations, the description must carry the entire burden and does not. Which entity assessments, what actions are valid, and what the response contains remain completely unknown.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema is empty with additionalProperties=false, so the description is the only place an agent could learn that a list of object IDs and an action payload are needed — but it says nothing. The rule's 0-param baseline does not apply here because the emptiness is a defect, not a genuinely parameterless call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Perform a batch action on multiple objects' restates the generic notion of batching without identifying the resource (entity assessments), what a 'batch action' actually does (update? delete? publish?), or how it differs from the dozens of sibling *_batch_action_create tools. An agent cannot tell from the text alone which objects or which operations are in scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no reference to alternatives such as the entity_assessments partial_update or destroy tools. Nothing indicates how many objects a batch requires, or whether a single-record mutation is the safer route.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entity_assessments_cascade_info_retrieveApi entity assessments cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so safety is covered. The word "preview" hints that nothing is mutated, but the description says nothing about what a cascade preview returns, how deep it traverses, or what a caller should do with it — a real gap for a read endpoint whose whole value is the shape of its response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is truncated — a two-word fragment ending in a colon, not a concise statement. Under-specification rather than economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, one undocumented parameter, and no annotations explaining semantics beyond read-safety, the description carries full burden and delivers nothing. An agent cannot tell what the id refers to or what a cascade preview contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single required parameter is named only "id". The description does not say whether this id identifies an entity assessment, an entity, or something else, leaving the agent to guess which object type to pass.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment that only echoes the operation type implied by the tool name (cascade_info) without stating what is being previewed, on what resource, or what the output represents. It does not distinguish this from the dozens of sibling *_cascade_info_retrieve tools (actors, assets, frameworks, entities, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to call this instead of ciso_assistant_api_entity_assessments_retrieve, _object_retrieve, or the many other cascade_info tools. The agent must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entity_assessments_conclusion_retrieveApi entity assessments conclusion retrieveCRead-onlyIdempotent
API endpoint that allows entity assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true and destructiveHint=false, but the description claims the endpoint allows entity assessments to be 'edited' – a write capability that contradicts the read-only annotation. No other behavioral context (return shape, filtering, auth) is added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is appropriately sized and front-loaded, but the sentence is boilerplate that conveys almost no useful information, so its structure earns no bonus.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param retrieve with no output schema, the description should at least clarify what the 'conclusion' resource is and what the caller gets. Instead it offers no return-value or scoping detail, leaving the agent with an under-specified contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema-coverage baseline of 4 applies. The description adds no parameter detail, but none is needed here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a generic DRF boilerplate ('allows entity assessments to be viewed or edited') that never mentions the distinguishing 'conclusion' aspect encoded in the tool name. It does not differentiate from siblings like entity_assessments_retrieve or entity_assessments_status_retrieve, so an agent cannot tell which retrieve variant to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use context is given, no prerequisites, and no mention of alternatives. It states only that the endpoint exists, leaving the agent to infer selection from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entity_assessments_createApi entity assessments createD
API endpoint that allows entity assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=false and destructiveHint=false already declared, the description adds nothing: no note that a payload is written, no required-field expectations, no side effects, no mention that openWorldHint=true implies external-facing impact. The "viewed" wording also blurs the read/write distinction the annotations set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is boilerplate that does not earn its place — it consumes the entire description budget without conveying the operation, payload shape, or any constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A write tool with no output schema, no documented parameters, and only default annotations. Everything an agent needs (what to send, what is created, what identifies an entity assessment) is missing, so the description is inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single untyped `body` parameter with additionalProperties=true and 0% schema description coverage. The description says nothing about what belongs in the body or which fields the API expects, so an agent has no way to construct a valid call from this definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF-generated boilerplate: "API endpoint that allows entity assessments to be viewed or edited." It names the resource but never states the actual operation (create) despite the tool name ending in _create, and it does not distinguish this tool from siblings like entity_assessments_retrieve, _list, or _update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives. Worse, "viewed or edited" actively points an agent toward read semantics, which could cause it to call this create endpoint when it meant entity_assessments_retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entity_assessments_destroyApi entity assessments destroyDDestructiveIdempotent
API endpoint that allows entity assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, yet the description describes viewing and editing, never mentioning that a record is permanently removed, whether related assessments cascade, or what authorization is required. The description mischaracterizes the operation rather than supplementing 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, but it is generic boilerplate that carries no useful information; brevity here comes from under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, irreversible operation with no output schema and zero parameter documentation, the description supplies none of the context an agent needs before invoking it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter (id) with 0% schema description coverage, and the description adds nothing about it. It is inferable that id identifies the entity assessment to remove, but the description never states this or its format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the endpoint as a generic CRUD handler ("allows entity assessments to be viewed or edited") and never says the tool deletes one. For a tool whose name and annotations both signal deletion, an agent reading only the description would not know what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance. Worse, "viewed or edited" actively points an agent toward read/update use cases that this endpoint does not serve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entity_assessments_listApi entity assessments listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| limit | No | ||
| entity | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| authors | No | ||
| ordering | No | ||
| max_pages | No | ||
| perimeter | No | ||
| conclusion | No | ||
| criticality | No | ||
| genericcollection | No | ||
| perimeter__folder | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that this is a read-only, idempotent, non-destructive list operation. The description adds no useful behavioral context such as filtering behavior, pagination, permissions, or result shape; instead it references an internal serializer implementation detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short, but it is not concise in a useful sense because it omits required information and focuses on an internal implementation concern rather than the tool's behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with 16 filter/pagination parameters and no output schema, the description provides none of the information an agent needs to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 16 parameters with 0% description coverage, and the description provides no explanation of any parameter, including id, entity, status, limit, offset, search, or perimeter. It does not compensate for the missing schema documentation at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it overrides the list method, which weakly indicates a list operation, but it never states that it lists entity assessments or what those assessments are. It is an implementation note rather than a user-facing statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what it returns, or how it relates to sibling tools such as ciso_assistant_api_entity_assessments_retrieve or ciso_assistant_api_entity_assessments_object_retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entity_assessments_metrics_retrieveApi entity assessments metrics retrieveCRead-onlyIdempotent
API endpoint that allows entity assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, but the description asserts the endpoint allows entity assessments to be "viewed or edited" — explicitly claiming write capability that the annotation denies. Beyond the contradiction there is no behavioral context added: no indication of what metric shape, aggregation or time frame is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so it is structurally fine and front-loaded. But it is boilerplate rather than substance — it is concise because it says almost nothing, not because it was edited down.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-argument read tool with no output schema, the description is the only place an agent can learn what comes back, and it says nothing about the metrics payload. Combined with the misleading "edited" wording, the agent lacks the information needed to call this correctly rather than accidentally reaching for a sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is an empty object, so there is nothing for the description to clarify. Baseline 4 applies; the description neither helps nor harms parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint that allows entity assessments to be viewed or edited" restates the resource name and the generic Django-REST-Framework boilerplate, and never says what makes this endpoint distinct: it is a metrics endpoint. An agent cannot tell from this text whether it returns metrics, a detail record, or a writable form, nor how it differs from siblings such as entity_assessments_retrieve or entity_assessments_status_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no stated preconditions, and no mention of any alternative. With roughly ten sibling entity_assessments_* tools (list, retrieve, status_retrieve, conclusion_retrieve, cascade_info_retrieve) the agent must guess which one to select; nothing in the description routes it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entity_assessments_object_retrieveApi entity assessments object retrieveCRead-onlyIdempotent
API endpoint that allows entity assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows entity assessments to be 'viewed or edited,' but the annotations declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. This is a direct contradiction: an edit-capable endpoint would not be read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence and is front-loaded. It is concise, though its brevity stems from generic boilerplate rather than useful specificity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool with no output schema, the description should clarify the identifier, return behavior, and read-only nature. Instead it only provides a generic endpoint description and even misstates the operation as editable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one required 'id' parameter with 0% description coverage, so the description must compensate. It does not mention the id parameter at all, leaving the agent to infer that it is the entity assessment identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('entity assessments') and says it can be viewed or edited, but the operation is ambiguous and does not distinguish this tool from sibling retrieve/list tools such as ciso_assistant_api_entity_assessments_retrieve or ciso_assistant_api_entity_assessments_object_retrieve. The phrase 'viewed or edited' further muddies whether this is a read or write endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this specific retrieve endpoint versus the sibling list, retrieve, or object_retrieve endpoints. It also provides no prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entity_assessments_partial_updateApi entity assessments partial updateD
API endpoint that allows entity assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered; the description adds nothing about partial-update semantics, whether omitted fields are preserved, or permission requirements. Saying the assessments may be 'viewed' is boilerplate from the viewset and mildly misleads an agent toward treating this as a read endpoint, though it is not a hard contradiction of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but its brevity is under-specification rather than efficiency — there is no front-loaded payload, no operation detail, nothing that earns its place. The one clause it does contain ('viewed or edited') is generic boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque free-form body, no output schema, and no annotation detail about side effects, the description should carry the burden and does not. An agent cannot determine from this text what a partial update changes or what a valid request body looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%: 'id' is undocumented and 'body' is an untyped free-form object with additionalProperties=true and no description. The description gives zero information about what fields the body accepts or how they map to the entity assessment, leaving the most important parameter completely opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title almost verbatim ('entity assessments' + 'viewed or edited') without naming the operation. It never says this is a partial update (PATCH) that modifies only supplied fields, so the actual verb is only inferable from the tool name, and 'viewed' even suggests a read capability the endpoint does not have.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus its obvious siblings such as ciso_assistant_api_entity_assessments_update, _retrieve, _object_retrieve or _partial_update on other resources. No prerequisites, no exclusions, no context that would let an agent choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entity_assessments_retrieveApi entity assessments retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds one genuinely useful behavioral fact beyond that: unauthorized related fields are masked in the response, which tells the agent to expect redacted nested data rather than errors. It says nothing about what happens when the id is unknown or inaccessible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, front-loaded with the return shape and ending with the most informative clause about masking. Nothing is padded, though the brevity comes at the cost of missing content rather than over-explaining.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter retrieve tool with no output schema, the description should at least identify the resource being fetched and the nature of the id. It covers only the masking behavior, leaving the core identity of the object and its lookup key undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter (id) with 0% schema description coverage, so the description carries the full burden of explaining it. It never says the id is an entity-assessment identifier, nor its format (UUID vs ref_id), so the agent must guess what value to supply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only says it returns "a single object" – the resource (entity assessment) appears solely in the tool name, so the description itself is close to a tautology. It never distinguishes this from the sibling ciso_assistant_api_entity_assessments_object_retrieve, and an agent cannot tell which of the two retrieve-style tools is intended.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no prerequisites (permissions, entity scoping), and no mention of when to prefer the sibling list or object_retrieve variants. The only implicit signal is "single object", which the agent must infer from the return phrasing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entity_assessments_status_retrieveApi entity assessments status retrieveCRead-onlyIdempotent
API endpoint that allows entity assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows assessments to be "viewed or edited", while annotations declare readOnlyHint=true and destructiveHint=false. That is a direct inconsistency about whether the call can mutate data, and it leaves the actual behavior (what statuses are returned, scope, permissions) entirely undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no verbosity problem, but it is generic boilerplate that spends its only clause on a capability that is wrong for a read-only endpoint. Nothing is front-loaded that helps selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-output-schema read endpoint buried among dozens of similarly named assessment endpoints, the description omits everything that would matter: what the status payload covers, whether it is aggregate or per-object, and how it differs from its siblings. The name carries almost all of the meaning.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters with 100% description coverage, so there is nothing for the description to clarify. Baseline 4 applies; no parameter-level claims are made or needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is boilerplate: "API endpoint that allows entity assessments to be viewed or edited" restates the resource already present in the tool name and never names the specific operation (status retrieval). It does not distinguish this from siblings like entity_assessments_retrieve, _list, _object_retrieve, _metrics_retrieve or _conclusion_retrieve, so an agent cannot tell what makes this endpoint different.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this endpoint versus the many adjacent entity-assessment endpoints, and no prerequisites, filters, or context are given. The only implied usage comes from the name suffix "status_retrieve", not from the description text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_entity_assessments_updateApi entity assessments updateDIdempotent
API endpoint that allows entity assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare it is not read-only, idempotent, non-destructive, and open-world, so the safety profile is covered. The description adds nothing beyond the boilerplate 'viewed or edited,' and does not explain what editing entails, whether the full body replaces existing data, or what permissions are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is concise, but it is under-specified rather than meaningfully brief. Every word is boilerplate, and no actionable detail is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero schema description coverage, no output schema, and two parameters, this extremely thin description leaves an agent unable to call the tool correctly. It does not explain the required id or body structure, nor distinguish this update from partial_update.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden, yet it says nothing about the required id or the body payload. An agent cannot infer what the body should contain or whether partial updates are allowed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (entity assessments) but frames the operation as 'viewed or edited,' which is vague for a tool named update and does not distinguish it from sibling retrieve or partial_update. It does not clearly state that this is a full update operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many siblings (retrieve, list, create, partial_update, batch_action, etc.). No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidence_revisions_attachment_retrieveApi evidence revisions attachment retrieveDRead-onlyIdempotent
API endpoint that allows evidence revisions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says evidence revisions can be 'viewed or edited', which implies write capability, while annotations declare readOnlyHint=true and the endpoint name indicates retrieve. This is a direct contradiction of the declared read-only safety profile, and the description adds no useful behavioral context such as what attachment data is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single sentence and structurally compact, but the sentence is generic boilerplate that does not earn its place. Brevity here reflects under-specification rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter retrieve endpoint with no output schema, the description should at least identify that it retrieves an evidence revision attachment and what the id represents. It instead gives a generic DRF-style sentence that omits the resource, action outcome, and parameter meaning.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required `id` parameter has 0% schema description coverage, and the description does not explain what the id refers to or how it is used. It adds no meaning beyond the bare parameter name in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it is an API endpoint for evidence revisions to be viewed or edited, without mentioning the attachment resource that the tool name identifies. It is generic enough to be confused with evidence_revisions_retrieve or other revision tools, and does not state a specific retrieve action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this attachment-retrieve endpoint versus siblings such as evidence_revisions_retrieve, evidence_revisions_object_retrieve, or evidences_attachment_retrieve. The agent is left to infer usage entirely from the tool name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidence_revisions_batch_action_createApi evidence revisions batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, idempotent=false, openWorld=true, destructive=false, which is non-trivial information the description simply repeats in vaguer form ("perform a batch action"). It adds nothing about what a batch action does to the target revisions, whether it can remove them, or what side effects to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, so nothing is wasted, but the terseness comes at the cost of meaning rather than from efficiency. It is under-specified rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutating batch endpoint with no usable parameter schema and no output schema needs the description to carry substantial weight, and this one does not. An agent has no way to know what the batch action operates on or what it returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero declared parameters the baseline is 4, but the empty schema is itself a red flag for a batch mutation that logically needs a target list and an action name; the description does nothing to explain how objects or the action are specified. It neither contradicts nor compensates for the schema, so a middling score is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the name's generic component ("batch action") without naming the resource or the operation: it never says these are evidence revisions, nor which actions (delete/update/etc.) are supported. Against dozens of near-identical siblings named *_batch_action_create, an agent cannot distinguish this tool from any of them using the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of alternatives (e.g. per-object update/destroy on evidence revisions), and no prerequisites such as permissions or the requirement to select target objects first. The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidence_revisions_cascade_info_retrieveApi evidence revisions cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so safety is covered structurally. The description adds nothing about what the preview returns (counts? affected objects? dependency graph?), whether it requires permissions, or why it is a preview rather than a mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words and a colon are technically concise but represent under-specification rather than efficiency; there is no front-loaded statement of purpose, inputs, or output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, an undocumented required parameter, and no annotations about semantics beyond safety flags, the description should explain what the cascade preview shows and for what object; it does none of that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, id, with 0% schema description coverage, and the description never says what the id identifies — presumably an evidence revision, but unconfirmed — nor whether it accepts a numeric or string identifier format. Unlike a zero-parameter tool, the description had a real gap here to fill and did not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment that essentially restates the tool name's cascade_info_retrieve suffix without stating a verb, the resource, or what a cascade preview actually contains. An agent must infer from the name that this previews downstream effects for an evidence revision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The fragment implies the tool previews a cascade, which weakly suggests using it before a destructive change, but nothing states when to call it versus siblings such as ciso_assistant_api_evidence_revisions_retrieve or ciso_assistant_api_evidence_revisions_object_retrieve. No exclusions or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidence_revisions_createApi evidence revisions createD
API endpoint that allows evidence revisions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the agent knows this is a non-idempotent write. The description adds nothing beyond that: it does not say what gets created, whether it requires authentication or specific permissions, whether duplicates are rejected, or what the response contains. 'Viewed or edited' is generic DRF boilerplate that fails to convey the create semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but it is boilerplate that does not earn its place — nothing about purpose, inputs, or behavior is front-loaded. Brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with an undocumented free-form body, no output schema, and no annotation-level detail about side effects. An agent has essentially no information needed to invoke it correctly beyond the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single 'body' parameter with 0% schema description coverage, and the description gives no information about its shape, required fields, or expected content. With one undocumented parameter, the description must compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (evidence revisions) but describes the action as 'viewed or edited', while the tool name and endpoint are 'create'. It never states that a revision is created, and it does not distinguish this from siblings such as evidence_revisions_list, _retrieve, or _update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the other evidence_revisions endpoints (list, retrieve, partial_update, upload, delete_attachment), nor any prerequisites such as a parent evidence ID or required fields. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidence_revisions_delete_attachment_createApi evidence revisions delete attachment createDDestructive
API endpoint that allows evidence revisions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true and idempotentHint=false, so the safety bar is low, but the description adds nothing beyond them and actively omits that an attachment is destroyed. It also never says whether the id refers to the revision or to the attachment, or whether the deletion is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that is under-specification rather than conciseness: a single boilerplate sentence with no front-loaded statement of the actual destructive action or the target resource instance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, non-idempotent endpoint with one undocumented parameter and no output schema needs the description to carry the full burden of what is removed and how to identify the target. The generic view/edit sentence covers none of that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required `id` parameter has 0% schema description coverage, and the description says nothing about it. Given the tool deletes an attachment, it is critical to know whether `id` identifies the evidence revision or the attachment record, and the definition leaves that entirely ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates a generic CRUD boilerplate ("allows evidence revisions to be viewed or edited") and never mentions the actual operation, which the tool name says is deleting an attachment. It names the resource family but misstates the action, so an agent cannot tell what the call does without decoding the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no precondition, and no differentiation from the many sibling evidence_revisions tools (list/retrieve/create/update/destroy/upload/attachment_retrieve). Nothing tells the agent why it would pick this over partial_update or destroy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidence_revisions_destroyApi evidence revisions destroyDDestructiveIdempotent
API endpoint that allows evidence revisions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations carry the full safety profile (destructiveHint=true, idempotentHint=true, openWorldHint=true), so the agent can infer it is a destructive write from structured data alone. The description adds nothing and arguably misleads by framing the endpoint as view/edit rather than permanent deletion, without stating whether deletion cascades or is recoverable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, no padding, and the resource name is front-loaded — but it is short because it is boilerplate, not because it is dense with meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, idempotent delete with no output schema, the agent needs to know what is removed and what remains (revisions of an evidence, attachments). None of that is present, so the definition is incomplete for the operation's risk level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single `id` property has no description; the description does not say whether it is the evidence revision's own identifier or a parent evidence id. The parameter is nearly self-evident from the name, but nothing in the text compensates for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates a generic DRF docstring ("allows evidence revisions to be viewed or edited") without naming the actual operation. Every sibling on the same resource — retrieve, list, update, partial_update, create — has the identical sentence, so an agent cannot tell that this one deletes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives such as partial_update or retrieve, and the one implied usage ("viewed or edited") points the agent away from what the tool actually does.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidence_revisions_listApi evidence revisions listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| evidence | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered and the description does not contradict it. What remains is a vague claim about "optimized data" in a serializer context, with no disclosure of result shape, ordering defaults, or whether the injected optimization changes what data is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not bloated, but the one sentence it spends is on an internal implementation detail rather than the caller-facing contract. Brevity is achieved at the cost of usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 undocumented parameters, no output schema, no annotations beyond the safety hints, and a vast sibling surface, the description leaves the agent unable to construct a correct call. Nothing about pagination, filtering by evidence, or ordering is covered anywhere.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are 7 parameters (id, limit, offset, search, evidence, ordering, max_pages), none documented in the schema and none mentioned in the description. For a list endpoint, the meanings of limit/offset/max_pages and the evidence filter are exactly what an agent needs and gets nowhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Override the list method" hints that this returns a collection of evidence revisions, but the rest ("inject optimized data into the serializer context") is framework implementation jargon, not a statement of what the tool does for a caller. It never names the resource explicitly and gives nothing to distinguish it from siblings like evidence_revisions_retrieve or evidence_revisions_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word "list" implies a collection fetch, but there is no statement of when to use this versus the retrieve/object_retrieve/cascade_info siblings, no prerequisites, and no note on pagination or filtering expectations. The agent must infer everything from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidence_revisions_object_retrieveApi evidence revisions object retrieveDRead-onlyIdempotent
API endpoint that allows evidence revisions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations explicitly declare readOnlyHint=true, but the description says evidence revisions can be 'viewed or edited', implying write capability and contradicting the annotation. It also provides no additional behavioral context such as return shape or access requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, so it is concise. However, it is generic boilerplate that front-loads an ambiguous 'viewed or edited' operation rather than clearly stating the retrieve behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter retrieve endpoint with no output schema and many similar siblings, the description is too thin. Annotations supply the safety profile, but the description contradicts them and omits what is returned or how the id is used.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required string parameter, id, with 0% description coverage. The description never explains what the id identifies or what format it expects, so it adds no semantic meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (evidence revisions) but the operation is stated as 'viewed or edited', which conflates retrieve and update. It does not distinguish this object-retrieve endpoint from sibling retrieve, list, update, or partial_update endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. With many sibling evidence revision endpoints such as evidence_revisions_retrieve, list, and update, the agent is left to infer selection from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidence_revisions_partial_updateApi evidence revisions partial updateC
API endpoint that allows evidence revisions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already give the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=true, idempotentHint=false), so the description's remaining job is to explain mutation behavior. Instead it offers only 'viewed or edited', saying nothing about what a partial update changes, what happens to omitted fields, or permission requirements, and 'viewed' misleadingly suggests this tool reads data when it is a write endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded sentence with no padding, but its brevity comes from boilerplate rather than economy of information. It is not over-long, yet every word is generic.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with no output schema, zero parameter documentation, and only hint annotations, the description should carry more weight. It leaves the agent without the identity of the target record, what 'body' contains, or how partial semantics behave.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters, and the description supplies nothing: neither the required 'id' (identifier of the evidence revision to patch) nor the optional 'body' object is explained. With low coverage, the description needed to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence restates the tool name ('evidence revisions') with the generic DRF verb pair 'viewed or edited' rather than the actual operation, which the name says is a partial update. It neither confirms PATCH semantics nor distinguishes this tool from the sibling ciso_assistant_api_evidence_revisions_update, _retrieve, or _partial_update endpoints aimed at the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (authentication, required existing revision id), and no pointer to alternatives such as the full update or retrieve variants. An agent must infer everything from the name and annotations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidence_revisions_retrieveApi evidence revisions retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive semantics, so the bar is lower. The description nonetheless adds a real behavioral fact beyond structured fields: unauthorized related fields are masked, meaning the returned payload is permission-scoped and may be incomplete. It stops short of saying what happens when the id is missing or which fields are subject to masking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with no filler, and the one substantive detail (masking) is front-loaded. It is under-specified rather than verbose, so conciseness itself is a strength here.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieval endpoint with no output schema, the description should convey what the returned object represents and how it relates to the list/object_retrieve siblings. Apart from the masking note, an agent cannot tell what it will get back or why it would choose this over object_retrieve.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required string 'id' with 0% description coverage, and the description never mentions it or says what it identifies. With a single opaque parameter, the description should at minimum clarify that the id is an evidence revision identifier, but it adds nothing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Return a single object', never naming the resource (an evidence revision); the resource must be inferred entirely from the tool name. It also fails to distinguish this from the sibling ciso_assistant_api_evidence_revisions_object_retrieve, which appears to do nearly the same job. The one genuinely specific element is the masking caveat.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus the list, object_retrieve, or cascade_info siblings. No preconditions, no note that the caller needs a valid evidence revision id, and no exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidence_revisions_updateApi evidence revisions updateCIdempotent
API endpoint that allows evidence revisions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
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 description adds essentially nothing about mutation behaviour, permissions, or what happens to the opaque body payload. "Viewed or edited" sits at odds with a write-only endpoint, though it stops short of a hard contradiction given the word "edited" is also present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, front-loaded, with no padding — but that brevity comes from being generic boilerplate rather than from being information-dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an entirely opaque request body, no output schema, and zero parameter documentation, the description leaves an agent unable to construct a valid call. It supplies none of the context the structured fields lack.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the `body` parameter is an untyped free-form object with `additionalProperties: true`, so the description needed to explain what fields it accepts and accepts nothing. Only the resource name implicitly hints that `id` is an evidence-revision identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the endpoint name almost verbatim: "allows evidence revisions to be viewed or edited" is boilerplate for the `evidence_revisions_update` route. It never says the tool updates (PATCH/PUT-style) a single evidence revision, and it is indistinguishable from the sibling `ciso_assistant_api_evidence_revisions_partial_update` or `_retrieve`.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this over `evidence_revisions_partial_update`, `_update`, or the dedicated `_upload_create` / `_attachment_retrieve` siblings. The scope note "viewed or edited" actively muddies the choice rather than clarifying it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidence_revisions_upload_createApi evidence revisions upload createD
api_evidence_revisions_upload_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, so the agent knows this is a non-idempotent write with external reach. The description adds nothing beyond that: it does not say what the upload targets, what body content is expected, whether it replaces or appends attachments, or any permission or size constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but this is under-specification rather than conciseness; the single identifier token is not front-loaded information because there is nothing else to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation/upload endpoint with an opaque 'body' payload, no output schema, and no parameter documentation anywhere leaves the agent with no way to know what data to send or what the call does. Contextually inadequate in every dimension.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters (required 'id' and optional free-form 'body' object with additionalProperties) have 0% schema description coverage, and the description provides no compensating text. The 'body' parameter's shape is entirely undocumented anywhere, so an agent cannot construct a valid call from the definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the identifier 'api_evidence_revisions_upload_create', which restates the tool name and title verbatim. A reader can guess from the token 'upload' that something is uploaded to an evidence revision, but there is no verb-object sentence, no statement of effect, and nothing distinguishing it from siblings such as api_evidences_upload_create or api_evidence_revisions_attachment_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no preconditions, no alternatives, and no indication of what distinguishes this upload endpoint from the many other evidence-related upload/create siblings. The agent receives zero routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidences_attachment_retrieveApi evidences attachment retrieveDRead-onlyIdempotent
API endpoint that allows evidences to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows evidences to be 'viewed or edited', but the annotations declare readOnlyHint=true and destructiveHint=false. That inconsistency could lead an agent to attempt a write against a read-only endpoint. Aside from the contradiction, no behavioral context is added (e.g., whether the response is a file blob or metadata).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, so nothing is wasted, but the brevity comes from under-specification rather than economy of expression. It is not front-loaded with any actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no meaningful annotations beyond safety hints, the description must explain what a successful call returns (file content vs. attachment metadata) and how to use the id. It supplies none of that, so an agent is left guessing about the core behavior of an attachment-fetch endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter 'id' with 0% schema description coverage and no documentation in the description. The text never says whether 'id' refers to the evidence, the attachment, or a revision, leaving the one thing the agent must supply entirely ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'allows evidences to be viewed or edited', which restates a generic CRUD endpoint and never mentions the attachment that the tool name and sibling names (evidences_upload, evidence_revisions_attachment_retrieve) indicate is the actual resource. An agent cannot tell from this text why this tool differs from ciso_assistant_api_evidences_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus ciso_assistant_api_evidences_retrieve, ciso_assistant_api_evidences_object_retrieve, or ciso_assistant_api_evidence_revisions_attachment_retrieve. The 'viewed or edited' phrasing also fails to state any precondition such as requiring an existing evidence id with an uploaded attachment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidences_batch_action_createApi evidences batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, so the safety profile is covered; the description adds nothing on top of that. It does not disclose which actions are valid, whether anything is permanently removed, what permissions/scope are needed, or what the result of the batch is — significant gaps for a non-idempotent mutation endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no waste, but its brevity comes from under-specification rather than economy: it conveys essentially nothing an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, an empty input schema, and a vague one-liner, an agent has no way to know what payload semantics the endpoint expects or what happens on success. For a non-idempotent batch mutation, the description should carry far more of the burden than it does.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters (additionalProperties: false) and a 100% coverage baseline would normally apply, but the description's claim of acting on 'multiple objects' implies object identification and an action selector that the empty schema cannot express. The description does nothing to resolve that mismatch, so it adds no semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the name/title in generic terms: 'batch action on multiple objects' never mentions that the objects are evidences, nor which operations (delete, update, assign...) the batch endpoint supports. It does not distinguish this tool from the dozens of sibling '*_batch_action_create' endpoints, each of which gets the identical sentence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this batch endpoint versus the per-object siblings (evidences_update, evidences_destroy, evidences_partial_update) or versus evidences_batch_upload_create. The only implicit hint is that it affects several objects at once, which the agent must infer from the phrase 'multiple objects'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidences_batch_upload_createApi evidences batch upload createC
Bulk-upload evidences from a multipart payload.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the write/non-idempotent/open-world profile is known. The description adds only that the body is multipart, and says nothing about duplicate handling on re-upload, partial-failure semantics, or permissions — the behaviors that actually matter for a non-idempotent write.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, and the resource and payload form come first. It is efficient, though its brevity edges into under-specification rather than optimal density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutating, non-idempotent upload tool with an empty schema, no output schema, and no annotations covering payload shape. Given that complexity, the description omits the payload contract, the response, and the relationship to the created evidence records — the gaps an agent must close before calling it successfully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero properties with additionalProperties=false, which contradicts the need for a multipart body; the description is the only source naming 'multipart', and that is genuinely additive. However, it never enumerates the required multipart parts (file, name, related object ids), so the agent still cannot construct a valid request.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb plus resource ('Bulk-upload evidences') and the transport form ('multipart payload'), so an agent knows this creates multiple evidence records in one call. It does not distinguish itself explicitly from near-identical siblings such as ciso_assistant_api_evidences_upload_create or evidences_batch_action_create, leaving the 'bulk vs single vs batch-action' boundary to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to choose this over the single-upload or batch-action variants, no prerequisites (authentication, target evidence/requirement ids, size limits), and no exclusions. The word 'bulk' implies usage but gives the agent nothing actionable for routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidences_cascade_info_retrieveApi evidences cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false) already establish that this is a safe, idempotent read, so the description carries a lower burden. Even against that lower bar it discloses nothing about what a "cascade preview" returns, how deep the cascade goes, or whether it can be expensive — 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words plus a dangling colon is not conciseness but truncation. There is no front-loaded statement of purpose or scope an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotation detail beyond safety hints, and an undocumented parameter, the description is the only place an agent could learn what cascade information is returned — and it supplies none of it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter (id) with 0% schema description coverage, and the description says nothing about what the id identifies (evidence, revision, related object) or its format. The description fails to compensate for the undocumented parameter in any way.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the two-word fragment "Cascade preview:" and never states what the tool actually does with evidences. It adds essentially nothing beyond the tool name (which already contains "cascade info retrieve"), so an agent cannot distinguish this from the hundreds of sibling *_cascade_info_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this versus the sibling retrieve/object_retrieve/list tools for evidences, nor any prerequisite such as needing a valid evidence id. The trailing colon implies content was truncated, leaving the agent with zero routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidences_createApi evidences createC
API endpoint that allows evidences to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that — no mention of what fields get created, required auth, or side effects — and its 'viewed or edited' phrasing actively blurs the write nature of the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but it is misleading boilerplate rather than a front-loaded statement of purpose. Brevity here comes from under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with an undescribed body payload and no output schema, the description should at minimum confirm the create semantics and what the payload represents. It supplies neither, leaving the agent to guess from the tool name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'body' parameter has 0% schema description coverage, and the description provides no explanation of what the body should contain. With low coverage the description is expected to compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description calls this an 'API endpoint that allows evidences to be viewed or edited,' which omits the actual operation (create) and instead describes read/edit capabilities. An agent cannot confidently infer this is the create-evidence tool from the text; it reads as boilerplate from the underlying viewset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus siblings like ciso_assistant_api_evidences_update, ciso_assistant_api_evidences_upload_create, or ciso_assistant_api_evidences_batch_upload_create. No prerequisites, no exclusions, no alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidences_destroyApi evidences destroyDDestructiveIdempotent
API endpoint that allows evidences to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, readOnlyHint=false, openWorldHint=true, but the description frames the endpoint as a view/edit endpoint, contradicting the destructive read/write profile. It also omits that deletion is irreversible, whether attachments or evidence revisions cascade, and whether permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single boilerplate sentence with no bloat, but it is content-free generated scaffold text rather than front-loaded, useful information. Brevity here is under-specification rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, id-parameterized endpoint with no output schema, the description should at minimum state deletion, permanence, and side effects. Annotations supply only the safety flags, and the description contradicts them, leaving an agent without enough to call this safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required `id` parameter, so the description must carry the burden — but it says nothing about whether `id` is the numeric primary key, reference id, or UUID, nor what happens if the id does not exist. The parameter name alone is nearly self-evident, which keeps this above 1.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never states what the tool actually does: it says the endpoint "allows evidences to be viewed or edited," while the name and annotations make clear this is a delete operation. It identifies the resource (evidences) but actively misdescribes the verb, so an agent reading only the description would think this is a read or update tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of permanence or preconditions, and no routing to siblings such as ciso_assistant_api_evidences_retrieve, evidences_partial_update, or evidences_list. The one condition that matters for a destroy tool — when deletion is appropriate and what to check first — is entirely absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidences_listApi evidences listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| limit | No | ||
| owner | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| findings | No | ||
| ordering | No | ||
| contracts | No | ||
| max_pages | No | ||
| expiry_date | No | ||
| processings | No | ||
| applied_controls | No | ||
| filtering_labels | No | ||
| timeline_entries | No | ||
| genericcollection | No | ||
| findings_assessments | No | ||
| requirement_assessments | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description contributes nothing behavioral — no pagination, filtering, or result-shape context — and instead discusses serializer internals irrelevant to an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence, so it is not bloated, but brevity here comes from under-specification rather than efficiency. The single sentence is jargon that does not front-load any actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 20-parameter list endpoint with no output schema and no parameter documentation, the description is completely inadequate; it never states the resource, the filterable fields, pagination behavior, or the return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Twenty parameters (including filters like status, folder, owner, findings, filtering_labels, expiry_date, plus limit/offset/max_pages) have 0% schema description coverage, and the description never mentions any of them. An agent has no way to know what any filter accepts or means.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is an internal implementation note ('Override the list method to inject optimized data into the serializer context'), not a statement of what the tool does for a caller. Only the tool name and title reveal that it lists evidence records; the description itself adds no verifiable verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many overlapping siblings (evidences_retrieve, evidences_object_retrieve, compliance_assessments_evidences_list_list, task_nodes_evidences_list). Nothing indicates scope, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidences_object_retrieveApi evidences object retrieveDRead-onlyIdempotent
API endpoint that allows evidences to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, but the description claims the endpoint allows evidences to be 'edited' — a mutation. This directly contradicts the structured safety profile and would mislead an agent about side effects. No permissions, scoping, or return information is provided to compensate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not verbose, but every word is boilerplate and the one substantive clause ('or edited') is wrong. Front-loading cannot save content that misinforms.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an id-keyed retrieve tool with no output schema and an undocumented parameter, the description should at minimum state retrieval semantics, the id source, and error behavior. It does none of that and adds a false mutation claim, leaving the agent less informed than the annotations alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required 'id' parameter has 0% schema description coverage, and the description says nothing about what kind of identifier it is, its format, or what a missing/invalid id yields. The schema and description together leave the only parameter undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially DRF boilerplate restating the name: 'API endpoint that allows evidences to be viewed or edited.' It names the resource but gives no specific verb of its own and does not distinguish this object_retrieve from siblings like ciso_assistant_api_evidences_retrieve, evidences_list, or evidences_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the many sibling evidence endpoints (list, retrieve, object_retrieve, attachment_retrieve, cascade_info). Worse, 'viewed or edited' actively misroutes the agent into thinking this is a write tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidences_owner_retrieveApi evidences owner retrieveCRead-onlyIdempotent
API endpoint that allows evidences to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint 'allows evidences to be viewed or edited', implying write capability, while annotations declare readOnlyHint=true and destructiveHint=false. The 'edited' verb directly conflicts with the read-only annotation, and no other behavioral context (what the owner route returns, permissions) is added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, so nothing is padded, but it conveys nothing tool-specific. Brevity here comes from boilerplate rather than from efficient information design.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a zero-argument retrieve endpoint with no output schema, so the description is the only place an agent could learn what comes back (presumably the set of possible owners for an evidence). It says nothing about the response, the 'owner' semantics, or how it relates to the evidence object, leaving the definition materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is an empty object with zero parameters, so there is nothing for the description to clarify. The baseline for a zero-parameter tool applies; no parameter detail is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a generic Django REST Framework boilerplate line: it names the resource ('evidences') but says nothing specific about this endpoint. It omits the distinguishing concept in the name — 'owner' — so an agent cannot tell it apart from ciso_assistant_api_evidences_retrieve, ciso_assistant_api_evidences_object_retrieve, or ciso_assistant_api_evidences_status_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives among the many sibling evidence endpoints, and no stated prerequisite. 'Viewed or edited' gives no signal about which invocation context selects this tool over the plain retrieve endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidences_partial_updateApi evidences partial updateD
API endpoint that allows evidences to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the description adds nothing about mutation semantics, merge-vs-replace behavior, permissions, or side effects. It is not contradictory with readOnlyHint=false, but for a write endpoint with zero extra disclosure it falls below the minimum-viable bar.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no bloat, but brevity here comes from under-specification rather than discipline. The one sentence present conveys no actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool taking an untyped free-form body object, with no output schema and no annotation-level detail about what changes. A description that says only 'viewed or edited' leaves an agent without the information needed to construct a valid call or predict its effect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions the two parameters. The required 'id' and the completely opaque 'body' object (anyOf object/null, additionalProperties true) — the actual payload of a partial update — are left wholly undefined by both schema and prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence is generic Django-REST boilerplate: 'API endpoint that allows evidences to be viewed or edited' names the resource but describes it with the vague verbs 'viewed or edited' rather than the actual PATCH-partial-update behavior. It gives no way to distinguish this tool from the many sibling evidences tools (evidences_update, evidences_retrieve, evidences_list, evidences_partial_update), so it does little more than restate the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives. Saying the endpoint allows evidences to be 'viewed or edited' actively misroutes an agent away from evidences_retrieve for reading and does not explain why one would choose partial update over the full update variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidences_retrieveApi evidences retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It goes beyond the annotations by disclosing a genuinely useful behavior: related fields the caller is not authorized to see are masked in the response. Annotations already cover the read-only/idempotent/non-destructive safety profile, so this masking note is meaningful extra context. It does not, however, mention what happens with an unknown id or whether the object shape is guaranteed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no wasted words satisfies front-loading, but it is under-specified rather than tight — the brevity comes at the cost of naming the resource and the identifier parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve endpoint with no output schema, the description should at minimum name the resource, explain how the id selects it, and describe the masked/absent field behavior concretely. Only the masking hint is present; resource identity and id semantics are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter `id` has 0% schema description coverage, and the description never mentions it — no indication that it is the evidence identifier, what format it takes, or the failure mode for a bad id. With the schema silent, the description needed to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns "a single object," which is a verb+object but never names the resource (evidence record) or clarifies how it differs from siblings like evidences_list, evidences_object_retrieve, or evidences_retrieve's relatives. The resource identity is only recoverable from the tool name, not the description text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this retrieve-by-id endpoint versus a list or object lookup, and no prerequisites (e.g., that it requires an existing evidence id) are given. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidences_status_retrieveApi evidences status retrieveCRead-onlyIdempotent
API endpoint that allows evidences to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says evidences can be 'viewed or edited,' but annotations declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. This is a direct contradiction because the description implies a write/edit capability on a tool marked read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence and is not bloated, but it is under-specified rather than usefully concise. Its brevity leaves the purpose ambiguous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no parameters, so the description should clarify what 'status' retrieval returns and how it differs from other evidence endpoints. Instead it gives a generic and contradictory statement, leaving the 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no input parameters, so there is no parameter semantics burden on the description. The baseline for zero parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it is an 'API endpoint' for evidences to be 'viewed or edited,' which is generic and does not clearly state that this specific tool retrieves evidence status. It also fails to distinguish this status-retrieval endpoint from the numerous sibling evidence tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or which sibling tools are alternatives for viewing or editing evidence records. The agent is left to infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidences_updateApi evidences updateCIdempotent
API endpoint that allows evidences to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that — no word on permissions, whether omission of fields clears them, or validation behavior — and its 'viewed or edited' phrasing is misleading for a pure mutation endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, so there is no padding, but it is boilerplate that carries no actionable content and does not front-load the update semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an undocumented free-form body, no output schema, and a large sibling set including partial_update, the definition leaves out everything an agent would need: required payload shape, replace-vs-merge semantics, and error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the body parameter is an opaque free-form object; the description must compensate but provides zero information about what fields the evidence body accepts or how id is interpreted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates generic Django REST boilerplate: 'allows evidences to be viewed or edited' — but the tool is specifically an update endpoint, and there is a separate sibling ciso_assistant_api_evidences_partial_update. It gives no verb/resource distinction an agent could use to choose between full update, partial update, or retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this rather than evidences_partial_update, evidences_retrieve, or evidences_object_retrieve, and no mention that it requires an id and is a full/put-style update in a family that also has a PATCH variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_evidences_upload_createApi evidences upload createD
api_evidences_upload_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false, so the mutation/safety profile is partially covered without the description. The description adds nothing beyond that: no mention of what the upload replaces, size or auth requirements, or what happens to a prior attachment. Since the annotation hint set is present, the lower bar applies, but the text contributes zero additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single six-word fragment, so there is nothing wasteful, but the brevity is under-specification rather than economy. There is no front-loaded statement of purpose or action to structure anything around.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A file-upload mutation with a required id and an opaque body, no output schema, and no annotation telling the agent what payload form is expected. The description does not compensate for any of these gaps, leaving the tool effectively unusable without guesswork.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across both parameters, and the description supplies no parameter information at all. The 'body' parameter is an untyped free-form object defaulting to null and 'id' is an undocumented string, so an agent cannot know what to send. This is the worst case for parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal tool name echoed back ('api_evidences_upload_create') with no verb-resource phrasing an agent can read. Only the name hints at uploading an evidence file, and nothing distinguishes it from the many sibling upload endpoints (evidences_batch_upload_create, evidence_revisions_upload_create, chat_sessions_upload_create). This is a tautology rather than an explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative routing information anywhere in the description. An agent asked to attach a file to an evidence has no way to tell whether this tool, the batch variant, or the evidence_revisions upload is correct. Zero guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_filtering_labels_batch_action_createApi filtering labels batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the description needs to add the payload semantics that matter. Instead it adds nothing: no indication of what action is applied, whether it is atomic, how partial failures are handled, or what authorization is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler, but the brevity comes from under-specification rather than discipline. There is nothing an agent can act on beyond the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive-capable batch endpoint with no parameters, no output schema, and no annotations explaining payload effects should carry substantial descriptive weight. This definition omits everything an agent would need to call it safely and correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter count is 0, which sets a baseline of 4, but the empty schema (additionalProperties: false) leaves the agent with no way to express which objects or which action are targeted. The description does nothing to compensate by explaining how the target set and action are conveyed, so it drops one notch below baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the name: 'Perform a batch action on multiple objects' says nothing beyond 'batch_action' plus 'on multiple objects'. It never names the resource (filtering labels), what kinds of actions are supported, or how it differs from the near-identical sibling ciso_assistant_api_library_filtering_labels_batch_action_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or prerequisite information is given. With ~200 sibling *_batch_action_create tools and a confusingly similar library_filtering_labels variant, the absence of any routing guidance is a real selection hazard.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_filtering_labels_cascade_info_retrieveApi filtering labels cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 essentially nothing beyond that: it does not say what a cascade preview returns, what the 'cascade' refers to, or what the identifier represents, so the one hint it offers ("preview") is already implied by the annotation set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
This is under-specification rather than conciseness: a noun phrase ending in a colon with nothing following. There is nothing wasted, but only because there is almost nothing there.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations explaining return shape, and the description does not say what the preview contains or how it differs from a destructive cascade operation. For a tool whose entire value is the preview payload, the definition leaves the agent unable to predict or use the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required parameter `id`, and the description never mentions it. With no explanation of whether `id` is a filtering label, a folder, or a project, the agent must guess what the identifier refers to and how to obtain it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment "Cascade preview:", which gestures at previewing cascade effects but never states the resource (filtering labels) or what is being previewed. The name supplies the subject; the description adds almost nothing beyond it, so an agent cannot confidently distinguish this from siblings like ciso_assistant_api_library_filtering_labels_cascade_info_retrieve or the many other *_cascade_info_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no exclusions, no mention of alternatives such as the library filtering-label cascade or the destroy endpoint. The trailing colon suggests the sentence was truncated, leaving the agent with zero routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_filtering_labels_createApi filtering labels createC
API endpoint that allows labels to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered elsewhere. The description adds nothing about what is created, required permissions, duplicate handling (non-idempotent), or side effects; 'viewed or edited' is generic and slightly at odds with a create operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single, front-loaded sentence with no padding, so it is structurally fine, but the brevity comes from under-specification rather than efficiency. The lone sentence carries almost no actionable content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create/mutation endpoint with an undocumented request body, no output schema, and no useful behavioral disclosure, the description is far from sufficient. An agent would have to guess the payload shape and the purpose of a filtering label entirely from the schema, which is itself blank on this point.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter ('body'), a free-form object with 0% schema description coverage and no fields or examples exposed. The description does not compensate at all: it never explains what belongs in the body, that no fields are formally required, or what shape a label payload takes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST boilerplate ('allows labels to be viewed or edited') rather than stating the specific action, which is creating a filtering label. It never says what a filtering label is or where it applies, and the 'viewed or edited' phrasing is mismatched with a POST create endpoint in a family of siblings (list, retrieve, update, partial_update).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative routing is given. An agent cannot tell from the text why it would call filtering_labels_create instead of filtering_labels_update or library_filtering_labels_create, both of which appear as siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_filtering_labels_destroyApi filtering labels destroyCDestructiveIdempotent
API endpoint that allows labels to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered upstream. However, the description's 'viewed or edited' framing obscures the destructive effect and adds no context about what is being removed, whether related filters break, or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, but its brevity comes from being a generic DRF docstring rather than from front-loading the important information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, single-parameter endpoint with no output schema needs the description to state that it permanently deletes a filtering label by id and any consequences. None of that is present, and the existing sentence misdescribes the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is undocumented in both schema and description. For a destructive operation the description must at least say what identifier is required and that it targets one label; it says nothing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint 'allows labels to be viewed or edited', which describes read/update behavior, not deletion. The tool name ends in 'destroy' and its annotations declare destructiveHint=true, so the stated purpose does not match what the tool does. An agent reading only the description could not tell this deletes a label.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs the siblings filtering_labels_update, filtering_labels_partial_update, filtering_labels_retrieve, or filtering_labels_destroy (library variant). The phrase 'viewed or edited' actively points toward the wrong siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_filtering_labels_listApi filtering labels listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds nothing an agent can act on — 'serializer context' is internal Django detail, not behavior (no pagination, return shape, or filtering semantics disclosed). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, so it is not bloated, but its brevity comes from under-specification rather than economy: the one sentence present carries no usable information for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 7-parameter list endpoint with no output schema and no parameter documentation requires the description to carry the load, and it does none of it. Nothing tells the agent what it will receive or how to filter or paginate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Seven parameters with 0% schema description coverage — the schema shows only empty anyOf bodies and null defaults. The description supplies no meaning for id, limit, offset, search, ordering, folder or max_pages, leaving all seven undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does. It never says the tool lists filtering labels; only the tool name and title convey that. An agent must reconstruct purpose from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool, when not to, or how it differs from siblings such as ciso_assistant_api_library_filtering_labels_list or ciso_assistant_api_filtering_labels_retrieve. Zero routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_filtering_labels_object_retrieveApi filtering labels object retrieveDRead-onlyIdempotent
API endpoint that allows labels to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows labels 'to be viewed or edited', while the annotations declare readOnlyHint=true with destructiveHint=false. That is a direct conflict: an agent could invoke this intending to edit a label when the operation only reads. It also omits tenant/permission scoping and 404 behavior on an unknown id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, but it is generic auto-generated boilerplate whose main clause ('viewed or edited') is misleading rather than informative, so it does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should at least indicate what a retrieved label record contains or which label namespace it belongs to (library vs. tenant filtering labels). None of that is present, and the read-vs-edit ambiguity is unresolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is exactly one parameter (required 'id') with 0% schema description coverage, so the description carries the burden of explaining it — and it says nothing about what the id refers to, its type/format, or what happens if it is invalid. The 'labels' resource naming allows only a weak inference that it is a label identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is DRF boilerplate that restates the title rather than describing the operation: 'allows labels to be viewed or edited' adds nothing beyond what the name 'Api filtering labels object retrieve' already says. It does not distinguish this single-object fetch from siblings such as filtering_labels_retrieve, filtering_labels_list, or filtering_labels_object_retrieve, nor does it clarify what a 'filtering label' is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to prefer the list endpoint, the object_retrieve endpoint, or partial_update, and no prerequisites (e.g., authentication, permission to read labels). The only hint is the implicit 'labels' resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_filtering_labels_partial_updateApi filtering labels partial updateD
API endpoint that allows labels to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, so the description does not contradict them. However, it adds no behavioral context about partial-update semantics, what the body contains, required permissions, or side effects, which is important for a mutation endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence, but that is due to under-specification rather than efficient front-loading. The sentence conveys almost no actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a partial-update mutation tool with no output schema and 0% parameter description coverage, the description should explain the update behavior and body expectations. It does neither, leaving the agent unable to invoke it reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description says nothing about the required id or the opaque body parameter. It does not compensate for the undocumented input schema at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that this is an API endpoint allowing labels to be viewed or edited. It does not identify the operation as a partial update, does not clarify that it mutates an existing label, and does not distinguish it from sibling tools such as filtering_labels_retrieve, filtering_labels_update, or filtering_labels_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the full update, retrieve, create, destroy, or list sibling endpoints. The phrase 'viewed or edited' is too broad to help an agent choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_filtering_labels_retrieveApi filtering labels retrieveBRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive, so the bar is lower, and the description still adds real context: the response may have related fields masked based on authorization. That is behavior an agent cannot infer from structured fields. It stops short of saying what happens for missing ids or which fields are masked.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with no filler. It is front-loaded with the return shape, though the most useful detail (field masking) could have been paired with the resource name for better orientation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter retrieve with no output schema, the description covers the return shape and the masking caveat, which is the minimum viable set. It is still incomplete on resource identity and id semantics, which matter for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (id) with 0% schema description coverage, so the description must compensate — but it says nothing about the id's format, whether it is a UUID, or where to obtain it. Only the count of required parameters is implied by the 'single object' phrasing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it returns a single object and adds a meaningful qualifier (unauthorized related fields masked), so it is more than a tautology. However it never identifies the resource — that it is a filtering label — leaving the agent to infer purpose entirely from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus ciso_assistant_api_filtering_labels_list, _object_retrieve, or _cascade_info_retrieve. There is no mention of prerequisites such as needing an existing id or how retrieval differs from listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_filtering_labels_updateApi filtering labels updateCIdempotent
API endpoint that allows labels to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false, and the description does not contradict them. However, it adds nothing beyond them: it never states that unspecified fields may be cleared by a full update, nor anything about permissions or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is concisely structured. The problem is under-specification rather than verbosity, leaving it at minimum-viable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an opaque free-form body and no output schema, the description should explain payload expectations and update semantics. The annotations carry the safety profile, but the practical contract for calling this successfully is entirely missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description compensates for none of it. The 'body' parameter is an untyped object with no documented fields, and the description gives no hint about which label attributes can be set or what shape the payload should take.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the generic DRF boilerplate ('endpoint that allows labels to be viewed or edited') rather than saying what this specific tool does. It does not distinguish a full update (PUT semantics) from the sibling partial_update, retrieve, or list endpoints that all touch the same 'filtering labels' resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the six sibling filtering_labels tools. The phrase 'viewed or edited' actively muddies the choice between this mutation and the retrieve/list endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_assessments_batch_action_createApi findings assessments batch action createD
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the description adds nothing about mutability or safety. The only value beyond the annotations is the word 'batch,' implying operation over multiple objects at once, and even that leaves the effect on those objects unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, but its brevity comes from under-specification rather than efficiency. It reads like a generated placeholder with no front-loaded information about the resource or operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating batch tool with an empty input schema, no output schema, and no annotations covering scope, the description supplies none of the missing context: no target object type, no action vocabulary, no payload shape, no effect description. An agent has no basis to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero properties and additionalProperties=false, so there is nothing for the description to document. However, a batch action inherently requires the agent to specify which objects and which action, and neither schema nor description explains how that payload is expressed, which leaves a real semantic gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Perform a batch action on multiple objects,' which restates the tool name in generic terms. It never names the resource (findings assessments) and never says what kind of batch action (delete, update, assign) is performed, so among ~200 similarly named *_batch_action_create siblings an agent cannot tell what this one touches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which of the many alternative batch-action siblings to pick. Nothing indicates prerequisites, selection criteria, or required permissions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_assessments_cascade_info_retrieveApi findings assessments cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 by structured data. The description adds nothing further: it does not say what a "cascade preview" actually returns (objects affected, counts, deletion impact) or whether it is a dry-run of a delete/move operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here is under-specification rather than efficiency: a trailing colon and no sentence means there is no front-loaded statement of purpose or return shape to anchor the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameter documentation, and no annotations explaining semantics, the description should explain what the preview payload contains and what object it applies to. It supplies none of that, leaving a read-only, openWorld cascade tool effectively unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter `id` has 0% schema description coverage, so the description carries the full burden — yet it says nothing about whose ID this is or what resource type it must reference. The generic name makes the identifier's target ambiguous even though there is only one parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a two-word fragment, "Cascade preview:", that names a concept but no verb or resource. It implies the tool previews downstream effects of an operation on a findings assessment, but an agent must infer that from the tool name rather than the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or how it differs from the dozens of sibling cascade_info_retrieve tools (findings, journeys, actors, users, etc.). Nothing routes the agent here versus ciso_assistant_api_findings_cascade_info_retrieve or the assessment retrieve sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_assessments_category_retrieveApi findings assessments category retrieveCRead-onlyIdempotent
api_findings_assessments_category_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered structurally. The description adds nothing beyond that — no hint about whether the result is a static enum list, permission-scoped, or cached, which is the only value it could add here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity reflects under-specification rather than concision — the string carries no information an agent doesn't already have from the tool name. Nothing is front-loaded because there is no content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place to explain what comes back (a list of category choices?) and how it differs from sibling retrievers like findings_assessments_status_retrieve or findings_severity_retrieve. It supplies none of that, so the definition is incomplete for selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The description neither confirms that no input is required nor explains what the no-arg call returns, but with an empty schema there is little left to disambiguate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool name with underscores replaced, so it restates the identifier rather than explaining it. An agent can infer only that this returns category values for findings assessments — no verb, no scope, no distinction from the many *_category_retrieve siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, e.g. to populate a category filter or to resolve a category value before a findings_assessments query. No alternatives or exclusions are named, leaving the agent to guess among dozens of *_retrieve siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_assessments_createApi findings assessments createD
api_findings_assessments_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and idempotentHint=false, so the agent knows this is a mutating, non-idempotent call. The description adds nothing on what the body should contain, what permissions are required, or what happens on duplicate submission.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single identifier with no wasted words, but this is under-specification rather than conciseness. There is no front-loaded statement of intent because there is no statement at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating, open-world, non-idempotent create endpoint with an undocumented payload and no output schema, the description supplies none of the required context. An agent cannot call this correctly from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter ('body') with 0% schema description coverage and no fields enumerated. The description does not compensate at all, leaving the agent to guess the payload shape for a create operation, though the single opaque body limits the damage compared to a multi-param tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name converted to snake_case, with no verb, resource or scope stated in natural language. It is a pure tautology that gives an agent nothing beyond what the identifier already encodes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as ciso_assistant_api_findings_assessments_create variants or the update/list/retrieve endpoints in the same family. No prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_assessments_destroyApi findings assessments destroyDDestructiveIdempotent
api_findings_assessments_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 without the description. The description adds nothing beyond that: no statement of what gets deleted, whether dependent records cascade, or whether the operation is recoverable. No contradiction, but zero added context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One token that is a restatement of the identifier is not conciseness but under-specification; nothing is front-loaded because nothing informative is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world mutation tool with no output schema and an undocumented parameter, the description should carry the full burden. It provides no information at all, leaving an agent unable to call it safely or correctly beyond guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is undocumented. The description does not clarify that 'id' is the identifier of the finding assessment to delete, nor its format (UUID vs. ref_id), leaving the agent to infer this from the tool name alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name repeated ('api_findings_assessments_destroy') and adds no verb or resource phrasing an agent couldn't already parse from the identifier. Only the substring 'destroy' hints at deletion, and it does not distinguish this from the dozens of sibling '*_destroy' tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, no warning about irreversible deletion, and no mention of alternatives such as partial_update or the list/retrieve siblings for inspecting a finding assessment first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_assessments_listApi findings assessments listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| ref_id | No | ||
| search | No | ||
| status | No | ||
| authors | No | ||
| category | No | ||
| ordering | No | ||
| evidences | No | ||
| max_pages | No | ||
| perimeter | No | ||
| genericcollection | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so the safety profile is covered elsewhere. The 'inject optimized data into the serializer context' clause is an internal implementation note that tells a caller nothing about what data is returned, how filtering/pagination behaves, or how results differ from the standard list endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, which is good, but the brevity comes from omitting substance rather than from economy. What is present is front-loaded on an implementation concern, not on the caller's task.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 15 undocumented parameters, no output schema, and no explanation of the returned collection or its relationship to the plain findings list, the definition is far too thin. An agent has essentially no information needed to invoke this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 15 parameters with 0% schema description coverage, and the description supplies no parameter meaning whatsoever. Fields like 'genericcollection', 'max_pages', 'folder', 'ref_id' and 'ordering' remain completely opaque, so the description does not compensate for the schema gap in any way.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never states that the tool lists findings assessments; it only says it 'overrides the list method', an internal implementation detail. An agent reading it cannot determine the resource being listed, and would have to rely on the tool name alone, which is exactly what the description is supposed to avoid.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus any sibling such as ciso_assistant_api_findings_list, findings_assessments_retrieve, or findings_assessments_object_retrieve. The sentence offers no usage context at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_assessments_md_retrieveApi findings assessments md retrieveDRead-onlyIdempotent
api_findings_assessments_md_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 covered, but the description adds zero behavioral context: not what markdown output looks like, not whether an assessment must exist, not how missing IDs are handled. It contributes nothing beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is trivially short, but the brevity is under-specification rather than conciseness; the single token conveys no front-loaded purpose, scope, or usage cue.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool with no output schema, no parameter documentation, and dozens of near-identical siblings, the description should at minimum explain what is returned and how it differs from the standard retrieve. Nothing in it does so.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, so the description must compensate with format, type of resource the ID refers to, or example values. It provides none of this, leaving the agent unsure what kind of identifier is expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool's own snake_case name, 'api_findings_assessments_md_retrieve', restated as a string. It implies a retrieval of a markdown representation of a findings assessment, but it adds no verb-plus-resource phrasing, no scope, and no distinction from siblings like ciso_assistant_api_findings_assessments_retrieve or _pdf_retrieve. This is tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus the many sibling retrieve variants (findings_assessments_retrieve, _pdf_retrieve, _xlsx_retrieve, _object_retrieve, _list). An agent has no way to infer selection criteria from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_assessments_metrics_retrieveApi findings assessments metrics retrieveDRead-onlyIdempotent
api_findings_assessments_metrics_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description contributes nothing beyond that — no indication of what the metrics payload contains, whether it is scoped or global, or what the id refers to.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but this is under-specification rather than conciseness — the single string is an identifier restatement with no front-loaded explanation of action or resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a metrics-retrieval endpoint with a required id, no output schema, and an opaque name, the description should at minimum state what metrics are returned and for which entity. Annotations cover safety, but the semantic gap remains large.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter ('id') with 0% schema description coverage, so the description carries the burden of explaining what object the id identifies. It says nothing; the agent must guess whether it is a findings assessment id, a metrics record id, or a generic pk.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim ('api_findings_assessments_metrics_retrieve'), so the agent must decode the identifier to infer it retrieves metrics for findings assessments. It is a tautology that adds no clarification, and nothing distinguishes it from siblings like ciso_assistant_api_get_metrics_retrieve or ciso_assistant_api_findings_assessments_sunburst_data_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative routing is provided. An agent choosing among dozens of findings/metrics endpoints gets no signal about which one to select.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_assessments_object_retrieveApi findings assessments object retrieveDRead-onlyIdempotent
api_findings_assessments_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered by structured data. The description adds nothing at all beyond that - no indication of access requirements, whether a 404 is likely, or what kind of payload comes back - which is the minimum expected when annotations carry the safety story.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but that brevity comes from under-specification rather than efficiency: a single slug token with no front-loaded statement of purpose or scope. Nothing is wasted, but nothing is conveyed either.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter retrieve tool with annotations and no output schema, the description still needs to name the resource and the id source. Neither is present, so an agent cannot confidently call this rather than a sibling retrieve endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is typed only as a string. The description does not state what entity the id identifies, what format it takes (slug, UUID, integer ref), or where an agent would obtain one, so the parameter remains fully opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw endpoint slug repeated verbatim as the title, so it merely restates the name. It implies a read of a 'findings assessment' object but never says what that resource is or how it differs from the closely named siblings ciso_assistant_api_findings_assessments_retrieve, _list, or _object_retrieve variants used elsewhere in the namespace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite information, and no mention of any alternative. With roughly a dozen sibling findings_assessments tools (list, retrieve, object_retrieve, metrics, cascade_info), an agent has no way to know which one to select from this description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_assessments_partial_updateApi findings assessments partial updateD
api_findings_assessments_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, but the description adds nothing beyond that — no statement about what the body patch affects, partial-update semantics (fields omitted are untouched), or permission requirements. It neither contradicts nor augments 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single snake_case token with no wasted words, but that brevity is under-specification rather than conciseness — there is no front-loaded purpose statement, no structure, and nothing an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a completely undocumented free-form 'body' object, no output schema, and no annotations covering mutation semantics, the description is wholly inadequate. It supplies none of the context needed to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two parameters: 'id' (required string) and 'body' (untyped free-form object with no described fields). With no description compensation, the agent has no idea what keys the body accepts or what the id identifies. The description provides no parameter information whatsoever.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the tool's identifier repeated ('api_findings_assessments_partial_update'), which restates the name rather than stating in plain language what the tool does. An agent can infer a partial update of a 'findings assessment' resource from the name alone, but no verb-object purpose sentence is provided and nothing distinguishes it from sibling tools like ciso_assistant_api_findings_assessments_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to use this tool, when to prefer the full update (ciso_assistant_api_findings_assessments_update) or create variant, or what preconditions (existing id, permissions) apply. The description offers zero usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_assessments_pdf_retrieveApi findings assessments pdf retrieveDRead-onlyIdempotent
api_findings_assessments_pdf_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 covered structurally. The description adds no context beyond that — no mention of what the returned PDF contains, whether it reflects live data, or any permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short string with no wasted words, but this is under-specification rather than conciseness. There is no front-loaded purpose, no structure, and nothing that earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one undocumented required parameter and no output schema, the description carries the full explanatory burden and provides none of it. An agent cannot tell what it returns or how to build a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required 'id' parameter is undocumented in both schema and description. The description does nothing to explain what the id identifies (an assessment, a finding, a campaign?) — a critical gap for a path-based retrieve.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool identifier restated ('api_findings_assessments_pdf_retrieve'), which is a tautology rather than an explanation. An agent can only infer from the token that it retrieves a PDF of findings assessments, with no verb/resource phrasing or scope stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this versus siblings such as ciso_assistant_api_findings_assessments_md_retrieve or _xlsx_retrieve, which are the obvious confusables. Nothing signals the PDF format choice or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_assessments_retrieveApi findings assessments retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context that unauthorized related fields are masked, though it does not explain what masking means or what permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted wording. Its brevity is efficient, though it comes at the cost of specificity handled in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool with no output schema, the description should at least identify the returned resource and clarify the id parameter. Instead it only states that a single masked object is returned, leaving the resource and parameter semantics underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole 'id' parameter has 0% schema description coverage, so the description must compensate, but it never mentions the id or what kind of identifier is expected. This leaves the parameter's meaning entirely implicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a generic retrieve behavior ('Return a single object') and adds a masking detail, but never identifies the resource as a findings assessment. An agent must rely on the tool name and title to know what object is being retrieved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as findings_assessments_list or findings_assessments_object_retrieve. It also does not mention any prerequisite or condition for retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_assessments_status_retrieveApi findings assessments status retrieveDRead-onlyIdempotent
api_findings_assessments_status_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and that the tool is non-destructive, so the safety profile is covered. The description contributes nothing beyond that — no mention of what status values are returned, scoping, or auth requirements — so it fails to add context even where the bar is lowered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is an unbroken identifier with no front-loaded explanation. Brevity here reflects under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description is the only place an agent could learn what the returned status payload represents, yet it says nothing. Annotations cover behavior, but the informational content of the call is entirely unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema description coverage is 100%, so there is nothing for the description to document. Baseline 4 applies because parameter semantics are not a concern for a zero-argument endpoint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the identifier 'api_findings_assessments_status_retrieve' repeated back, which is a tautology rather than a statement of purpose. An agent gets no natural-language explanation of what status is being retrieved or over which findings/assessments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no differentiation from the numerous highly similar siblings such as ciso_assistant_api_findings_status_retrieve or the other *_status_retrieve endpoints in this API family.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_assessments_sunburst_data_retrieveApi findings assessments sunburst data retrieveCRead-onlyIdempotent
Returns FindingsAssessment data structured for sunburst visualization:
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 nothing beyond that: no note on whether the result is aggregated across all assessments, whether it respects folder/perimeter permissions, or how large the payload is. The dangling colon suggests more was intended but is absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with the subject, which is good. But it is a single fragment ending in a colon, which reads as a truncated sentence rather than a complete, deliberate definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is the only place the agent can learn what the returned structure looks like. It never explains the shape of sunburst data (hierarchy/labels/values), its scope (all assessments vs filtered), or whether it is chart-ready. For a zero-param analytics endpoint with no output schema, this leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline of 4 applies; the description does not misrepresent the no-argument nature of the call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource (FindingsAssessment data) and its output format (sunburst visualization), which gives slightly more than the title's bare restatement. However, it does not distinguish it from nearby siblings like findings_assessments_metrics_retrieve or the parallel applied_controls_sunburst_data_retrieve / policies_sunburst_data_retrieve tools. An agent still has to infer what 'sunburst data' contains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this over findings_assessments_metrics_retrieve, findings_assessments_list, or the sankey/treemap-style siblings. There are no exclusions, prerequisites, or alternative routing, so the agent has no decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_assessments_updateApi findings assessments updateDIdempotent
api_findings_assessments_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
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/safety profile is covered. The description adds nothing beyond that: no permissions, no scope of overwrite, no side effects, and no word on how the open-world behavior manifests.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness — a single identifier string with no front-loaded statement of purpose or key constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with an untyped free-form request body, no output schema, and 0% schema description coverage needs substantial description to be callable correctly. Nothing here lets an agent know what to put in 'body' or what the update affects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description says nothing about either parameter. The 'body' parameter is a free-form untyped object — exactly the case where the description must enumerate expected fields — yet it gives zero information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool name re-spelled ('api_findings_assessments_update'), a tautology that restates the identifier. A reader can infer it updates a findings assessment, but nothing says what is being updated or how it differs from the sibling findings_assessments_partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. With sibling tools like ciso_assistant_api_findings_assessments_partial_update and _create present, the distinction (full replace vs partial PATCH) is entirely unstated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_assessments_xlsx_retrieveApi findings assessments xlsx retrieveCRead-onlyIdempotent
api_findings_assessments_xlsx_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered without the description. The description adds no behavioral context of its own — nothing about whether the response is a binary file stream, how the id scopes the export, or whether the export reflects current or published state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single identifier token with zero sentences of content. This is under-specification rather than conciseness — there is no front-loaded purpose statement for anything to be trimmed from.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and an opaque id parameter, the description should at minimum state that the call returns an XLSX workbook of findings assessments and what the id selects. None of that is present, so an agent cannot confidently invoke it over its csv/pdf/md siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter "id" has 0% schema description coverage, so the description must explain what kind of identifier it is and what entity it refers to. It says nothing, leaving the agent to infer that it is the findings-assessment id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's slug restated verbatim ("api_findings_assessments_xlsx_retrieve") with no expansion into a verb+resource statement. An agent can guess it retrieves an XLSX export of findings assessments, but that inference comes from the name, not the description, and it does not distinguish this from siblings such as findings_assessments_pdf_retrieve or findings_assessments_md_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many other findings-assessment retrieval tools (retrieve, object_retrieve, list, csv/pdf/md exports). No exclusions, prerequisites, or alternative-selection criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_batch_action_createApi findings batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so safety profile is covered structurally. The description adds nothing beyond 'batch': no mention of whether the action applies atomically, whether partial failures roll back, permission requirements, or what 'action' means here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, front-loaded, nothing redundant. Brevity is not the problem here — the sentence simply carries no information, but it is not padded or meandering.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world batch mutation with no output schema and an empty input schema, the description should explain what payload is expected and what the action does. It supplies none of that, leaving the agent unable to construct a correct call from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters gives a baseline of 4, but this is an empty schema (additionalProperties: false, no properties) for a tool that logically requires a list of object IDs and an action selector. The description does nothing to reveal the expected payload shape, which is the single biggest gap for an agent trying to invoke it, so it drops below baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the name/title almost verbatim ('batch action' / 'multiple objects') without ever naming the resource — findings. Against ~100 sibling tools all named '*_batch_action_create', 'multiple objects' distinguishes nothing, so an agent cannot tell which object type this mutates without decoding the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, no when-not-to-use, no named alternative. It never says what actions are available (status change? assignment? deletion?) or when an agent should batch rather than call the per-object update endpoints that also exist as siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_cascade_info_retrieveApi findings cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is covered structurally. However, the description does not explain what a "cascade preview" returns (e.g., dependent objects that would be affected by a delete), which is the one piece of behavior an agent actually needs here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Brevity here is under-specification rather than conciseness; the text is a two-word fragment ending in a colon with no substance front-loaded or otherwise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no parameter documentation, and a fragmentary description. An agent cannot determine the return shape, the meaning of the id, or the intended use case from what is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required `id` parameter has 0% schema description coverage, and the description says nothing about what the id identifies (a finding? a model name?) or its format. No compensation for the schema gap whatsoever.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment, not a statement of what the tool does. It hints at previewing cascade effects but never names the resource (findings) or the operation (retrieving cascade/deletion impact info), leaving an agent to infer everything from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus siblings such as findings_retrieve, findings_object_retrieve, or the many other *_cascade_info_retrieve tools. The trailing colon suggests truncated text rather than intentional instruction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_createApi findings createD
api_findings_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false, which already establish that this is a non-idempotent write in an open-world context. The description adds nothing beyond that: no mention of required permissions, whether duplicate findings collide, or what is created. It contradicts nothing but contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token, so there is no verbosity to penalize, but it is under-specified rather than concise. Nothing is front-loaded because there is no content to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an unconstrained object body, no output schema, and no required-parameter documentation, the description leaves every question unanswered: what fields are valid, what a successful response returns, and what side effects occur. This is the maximally inadequate case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the sole parameter 'body' is an untyped free-form object with additionalProperties true and a null default. The description gives no hint about what fields belong in that payload, so it fails to compensate for a completely undocumented payload — the exact case where the description must carry the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal string 'api_findings_create', which merely restates the tool name and title in different casing. It does imply a create operation on a 'findings' resource, but supplies no scope, no object shape, and no differentiation from the many sibling findings tools (findings_list, findings_update, findings_batch_action_create, findings_assessments_create).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool rather than findings_update, findings_partial_update, findings_batch_action_create, or the findings_assessments_create sibling. The agent must infer everything from the name suffix 'create'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_destroyApi findings destroyDDestructiveIdempotent
api_findings_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, openWorldHint=true and readOnlyHint=false, so the safety profile is covered structurally and the description neither contradicts nor duplicates it. However, the description adds zero behavioral context of its own — nothing about permanence, cascading effects on linked assessments, or permission requirements — so it contributes nothing 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The string is technically short, but this is under-specification rather than conciseness — it provides no front-loaded statement of action or scope, so the brevity is a defect, not an efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, single-parameter deletion tool with no output schema demands a description stating what record type is deleted, what happens to dependents, and what identifier to supply. The description provides none of this, leaving the definition materially incomplete for a dangerous operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter `id` has 0% schema description coverage and the description says nothing about it. An agent is left to guess whether this is the finding's UUID, its ref_id, or something else, and whether any format constraints apply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the bare string "api_findings_destroy", which merely restates the tool name and title. An agent can infer deletion of a 'finding' from the name, but the description itself adds no resource scoping, no clarification of what a finding is, and no distinction from the numerous other `*_destroy` siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, when not to, or which alternative (e.g. `ciso_assistant_api_findings_update`, `ciso_assistant_api_findings_assessments_destroy`) applies. In a catalog with hundreds of sibling tools this leaves selection entirely to name-guessing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_listApi findings listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| limit | No | ||
| owner | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| due_date | No | ||
| ordering | No | ||
| priority | No | ||
| severity | No | ||
| evidences | No | ||
| max_pages | No | ||
| vulnerabilities | No | ||
| applied_controls | No | ||
| filtering_labels | No | ||
| findings_assessment | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds essentially nothing beyond a vague hint that the response is 'optimized' via serializer context, which does not tell the caller anything actionable about results, pagination, or filtering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here reflects under-specification rather than efficiency. The only sentence conveys developer internals instead of front-loading the resource being listed or the filters available.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 18 undocumented parameters, no output schema, and many sibling list/retrieve tools, the description is completely inadequate. An agent has no basis to choose this tool or to populate its parameters correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 18 parameters with 0% description coverage, and the description says nothing about any of them (limit, offset, search, status, severity, max_pages, etc.). This is the exact case where the description must compensate for the schema and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal implementation note ('Override the list method to inject optimized data into the serializer context') rather than a user-facing statement of what the tool does. Only the tool name reveals that this lists findings; the description never says it returns a list of findings or what they contain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or how it differs from siblings such as ciso_assistant_api_findings_retrieve, ciso_assistant_api_findings_object_retrieve, or ciso_assistant_api_findings_batch_action_create. The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_object_retrieveApi findings object retrieveDRead-onlyIdempotent
api_findings_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 covered. However, the description adds nothing at all beyond that: no indication of what object is returned, whether it 404s on missing IDs, or how it differs from the plain findings retrieve endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single underscore-joined identifier: technically free of padding, but that brevity comes from under-specification rather than concision. There is no front-loaded verb or resource statement an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description would need to explain what a 'findings object' payload contains, but it offers nothing. For a retrieve tool with one undocumented parameter and no return contract, this is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter, 'id', with 0% schema description coverage, so the description carries the full burden. It says nothing about whether the ID is a UUID, integer, or reference string, nor about scoping (e.g. per-perimeter or per-folder).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name with underscores removed: 'api_findings_object_retrieve'. It restates the identifier rather than stating what the tool does, so an agent gains nothing beyond guessing from the name that it retrieves a 'findings object'. It does not distinguish this from the many other *_object_retrieve siblings in the same namespace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisite conditions, and no reference to alternatives such as ciso_assistant_api_findings_retrieve or ciso_assistant_api_findings_object_retrieve vs ciso_assistant_api_findings_list, all of which appear in the sibling list and would need disambiguation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_owner_retrieveApi findings owner retrieveCRead-onlyIdempotent
api_findings_owner_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered by structured data. The description contributes nothing beyond that — no indication of what the 'owner' endpoint returns (a user list? a single assignee?) or whether it is scoped to a parent findings object.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically short, but this is under-specification rather than conciseness — a single identifier string with no natural-language structure, no front-loaded verb, and no sentence that earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations beyond generic safety hints, no output schema, and no parameters, the description carries the entire burden of explaining what data comes back — and it delivers nothing. An agent cannot tell whether this returns a list of owners, a count, or a permissions mapping.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters with 100% coverage, so there is nothing for the description to explain; the baseline of 4 applies. The only residual gap is that the description gives no hint about how the target resource is identified if it is identified by path rather than body.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name rendered back as text ("api_findings_owner_retrieve"), which is a tautology rather than an explanation. An agent must infer from the underscore-joined words that it returns owner information for findings, with no verb or scope stated in prose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to call this versus the many sibling retrieve tools (findings_retrieve, findings_object_retrieve, findings_severity_retrieve, policies_owner_retrieve, evidences_owner_retrieve). Nothing indicates prerequisites, filters, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_partial_updateApi findings partial updateD
api_findings_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, but the description adds no behavioral context at all: no permission requirements, no statement of which fields can be patched, no note that unspecified fields are left unchanged. Nothing contradicts the annotations, but the description carries zero added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token with no waste, but this is under-specification rather than conciseness — there is no front-loaded statement of purpose beyond the identifier itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque free-form body, no output schema, and no parameter documentation, the description is completely inadequate; an agent cannot tell what a patch to a finding looks like or what it returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the two parameters are 'id' (untyped string) and 'body' (an unconstrained object with additionalProperties: true). The description provides no field names, formats, or examples, so the agent has no way to construct a valid patch body from either the description or the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the operation identifier 'api_findings_partial_update', restating the tool name rather than describing the action in prose. The name does encode a verb+resource (partial update on findings), so it is slightly more informative than a pure tautology, but it gives no scope, no fields, and no differentiation from siblings such as ciso_assistant_api_findings_update or ciso_assistant_api_findings_assessments_partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool, when not to, or how it differs from the full-update sibling or the many other findings endpoints. An agent must infer everything from the identifier alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_priority_retrieveApi findings priority retrieveCRead-onlyIdempotent
api_findings_priority_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and openWorld, so the safety profile is covered structurally. The description adds nothing beyond that — no note on whether this returns a static enum of priority choices, a ranked list of findings, or whether it requires auth context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is no wasted text, but the single token is pure under-specification rather than conciseness. Nothing is front-loaded because nothing is communicated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what is returned — the set of priority choices, a per-finding ranking, or something else. It provides none of that, so an agent cannot predict the response shape or decide confidently between this and the severity/status variants.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema is trivially complete and there is nothing for the description to disambiguate. Baseline 4 applies for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the snake_case tool name restated verbatim ("api_findings_priority_retrieve"), which is essentially a tautology. It implies a read of finding priority values, but states no verb, scope, or output, and does not distinguish it from siblings like ciso_assistant_api_findings_severity_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or what alternatives exist. The agent must infer from the name alone whether this is for fetching priority enum values vs. filtering findings by priority.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_retrieveApi findings retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint. The description adds a real behavioral detail beyond those: unauthorized related fields are masked in the returned object. However, it does not describe auth requirements, failure behavior, or what 'unauthorized' means in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, front-loaded with the return behavior. It is efficient but under-specified rather than maximally informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A retrieval tool with no output schema needs the description to identify the resource, explain the id, and clarify masking/authorization behavior. It only covers masking, leaving the resource identity and id semantics absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole required 'id' parameter has 0% schema description coverage, and the description never mentions the id or what it identifies. It provides no compensation for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Return a single object' but never names the resource (a finding) or the retrieval key. An agent cannot tell from the description alone whether this returns a finding, an assessment, or another object; the tool name carries the meaning, not the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus ciso_assistant_api_findings_list or ciso_assistant_api_findings_object_retrieve, nor any prerequisite such as needing an existing finding ID. Routing is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_sankey_data_retrieveApi findings sankey data retrieveBRead-onlyIdempotent
Returns findings data structured for Sankey diagram:
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds nothing beyond annotations: no scope (all findings? current perimeter?), no aggregation/pre-computation behaviour, and with no output schema it does not hint at the node/link shape the diagram consumer would need.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, but it ends with a dangling colon suggesting truncated content, and the phrasing is front-loaded poorly for a one-liner. No waste, but incomplete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place an agent can learn what the response looks like (nodes, links, labels, counts). It says only 'structured for Sankey diagram', which is insufficient for a data-shaping endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing to document and the baseline of 4 applies; the description doesn't mislead about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Returns findings data') plus the special output format ('structured for Sankey diagram'), which distinguishes it from findings_list or findings_assessments_sunburst_data_retrieve. It does not explicitly name the sibling it differs from, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the output format: an agent can infer 'use this when you need Sankey diagram input', but there is no explicit when/when-not statement and no alternative named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_severity_retrieveApi findings severity retrieveCRead-onlyIdempotent
api_findings_severity_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that — no indication of what the payload contains (severity enum labels/ids?), whether values are cached or org-specific, or whether it requires auth, despite openWorldHint implying external dependency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but not concise in the useful sense — the single fragment is a restatement of the identifier with zero informational content. There is no front-loaded statement of purpose or behavior to trim, because none exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no parameters, so the description is the only place an agent could learn what this returns; instead it says nothing about the response shape (severity values, ordering, labeling). For a taxonomy-lookup endpoint in a family of near-identical *_severity_retrieve tools, this is insufficient to choose or use it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the schema-coverage rule the baseline is 4; there is no parameter semantics for the description to compensate for. No credit above baseline because the description does not clarify what the (parameterless) call returns.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name repeated ('api_findings_severity_retrieve'), which is a tautology rather than an explanation. An agent can infer this returns a severity taxonomy value for findings, but the description never states a verb, resource, or return shape, and it does not distinguish this from siblings like ciso_assistant_api_findings_priority_retrieve or ciso_assistant_api_findings_status_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given, and no alternative sibling is named. The agent must infer from the name alone that this is the lookup for allowed severity values (e.g. for populating a findings severity field) rather than a list of findings by severity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_status_retrieveApi findings status retrieveDRead-onlyIdempotent
api_findings_status_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that – no mention of what status data is returned, whether it is scoped to a findings assessment or global, or any auth/rate context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single identifier-like string rather than a description. This is under-specification, not conciseness – there is no front-loaded statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotation coverage of return content, the description is the only place to explain what this endpoint returns, and it provides nothing. An agent cannot determine what values come back or how to use them.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty, so there is no parameter semantics for the description to compensate for; baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool identifier restated ('api_findings_status_retrieve'), with no verb, resource, or explanation of what is retrieved. It cannot be distinguished from siblings such as ciso_assistant_api_findings_list, ciso_assistant_api_findings_retrieve, or ciso_assistant_api_findings_assessments_status_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the many other findings-related endpoints. Nothing indicates what 'status' means here or under what scenario an agent should prefer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_findings_updateApi findings updateDIdempotent
api_findings_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that – no mention of what fields can be changed, whether omitted fields are preserved, or permission requirements – so it earns little credit for added context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single token is technically concise, but this is under-specification rather than conciseness. There is no front-loaded useful information because there is no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with two parameters, an undocumented free-form body, no output schema, and no annotations covering payload semantics, the description is completely inadequate. An agent cannot determine what the body should contain or what the call returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description supplies no parameter meaning at all. The free-form 'body' object in particular is entirely opaque, and the description does nothing to explain what a valid body contains or how 'id' should be supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just 'api_findings_update', which restates the tool name/title without adding a verb-resource statement or scope. An agent can infer this updates a 'finding' but gets no explanation of what a finding is or how the update differs from siblings like findings_partial_update or findings_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. With siblings such as findings_partial_update, findings_update, findings_create, and findings_destroy present, the agent is left to guess which mutation endpoint applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_folders_batch_action_createApi folders batch action createD
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say it is a non-readonly, non-idempotent, non-destructive, open-world operation; the description adds no behavioral content at all. It never discloses which batch actions are accepted, what the request payload must look like, whether the operation is atomic or partial-failure tolerant, or that it needs authentication — all critical for a mutation tool with no schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, so it is concise by default. But concision here is achieved by omitting everything essential rather than by front-loading useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no parameters, and annotations limited to safety flags: the description carries the entire burden and delivers nothing. An agent has literally no information about how to construct a valid request or what will happen to which folders.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero properties with additionalProperties:false, yet the description speaks of acting on "multiple objects" — implying object identifiers and an action selector that the schema does not expose. Rather than clarifying how to identify targets or select an action, it leaves that gap unaddressed, so the invocation remains undefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Perform a batch action on multiple objects" restates the name's own words: it neither names the resource (folders) nor says what action is being performed (create/update/delete). With ~200 sibling *_batch_action_create tools in this API, an agent cannot tell this one apart from any of them from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative routing is provided. Nothing indicates whether this replaces per-object create/update calls or what preconditions (folder IDs, permissions) must hold.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_folders_cascade_info_retrieveApi folders cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so safety is covered. The description nonetheless adds nothing beyond annotations — no indication of what a 'cascade' traverses, what the 'preview' contains, or whether the id refers to a folder.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but shortness here is under-specification rather than concision: a dangling label followed by a colon with nothing after it. There is no front-loaded substance to be concise about.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an opaque one-parameter contract, no output schema, and heavy sibling ambiguity, the description supplies none of the information an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter 'id' with 0% schema description coverage and no type description. The description gives no hint what the id identifies (folder? object? generic content?) or its format, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the two-word fragment "Cascade preview:" — a label rather than a sentence. It hints at the resource family (folders cascade info) and the read shape (preview), but never states what is being previewed or returned. It cannot be distinguished from the dozens of sibling *_cascade_info_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite, and no alternative named. With a sibling named ciso_assistant_api_folders_cascade_info_retrieve and ~50 other cascade_info_retrieve variants, an agent has no basis for choosing this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_folders_createApi folders createD
API endpoint that allows folders to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-readOnly, non-destructive, non-idempotent, and openWorld. The description adds no create-specific behavior such as required payload, side effects, or permissions, and its 'viewed or edited' wording is misleading for a create operation, though not a direct annotation contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single boilerplate sentence with no wasted words, but it is under-specified rather than usefully concise. The sentence does not earn its place because it describes the wrong operation for this endpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create endpoint with a generic body and no output schema, the agent needs to know what the body should contain. The description provides none of that and does not clarify the create operation, though the annotations supply some safety context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter is an optional generic 'body' object with 0% schema description coverage. The description never mentions the body, its shape, or required fields, so it 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (folders) but describes viewing/editing rather than creating. An agent cannot distinguish this create endpoint from folders_list or folders_update based on the description, and the stated actions are wrong for this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling folders operations. Worse, 'viewed or edited' points toward read/update siblings instead of creation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_folders_destroyApi folders destroyDDestructiveIdempotent
API endpoint that allows folders to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false on a delete endpoint, but the description calls it a view/edit endpoint. That directly contradicts the declared destructive behavior and leaves the agent unaware that this operation permanently removes a folder.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short, but it wastes that space on incorrect boilerplate rather than front-loading the destructive purpose and the required id. Brevity without accuracy does not earn credit.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world delete operation with no output schema and no parameter documentation, the description should warn about irreversibility and identify what is being removed. It provides none of that and instead mischaracterizes the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the description must compensate, but it adds nothing about what the id identifies, format, or whether it is the folder's numeric or UUID identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint allows folders to be 'viewed or edited', which does not state the delete/destroy operation promised by the tool name. It is generic boilerplate that fails to name the actual verb (deletion) and is actively misleading about what the endpoint does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus siblings like folders_update, folders_partial_update, or folders_list. There is no mention of preconditions, alternatives, or the caution warranted before removing a folder.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_folders_export_retrieveApi folders export retrieveARead-onlyIdempotent
Export the domain as a zip file containing a JSON dump of all objects and their relationships
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 real value beyond them by disclosing the return format: a zip file containing a JSON dump of objects plus their relationships, which is exactly what an agent needs to know since there is no output schema. It stops short of stating permissions or handling of large domains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the most important fact (output is a zip of JSON objects and relationships) is stated immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, non-destructive export tool with no output schema, the description covers the essential unknown: what the response actually is (a zip with a JSON dump). It leaves the meaning of the 'id' path parameter and permission requirements unspecified, which is the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the description must carry that load. It only indirectly implies that 'id' identifies the 'domain' being exported and never states whether that is a folder id, domain id, or something else, nor its expected format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and output artifact: 'Export the domain as a zip file containing a JSON dump of all objects and their relationships.' This is far more informative than the bare name 'folders_export_retrieve,' but it does not name or distinguish itself from the obvious sibling ciso_assistant_api_folders_import_create or from generic folders_retrieve/list, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the word 'Export.' There is no statement of when to choose this over folders_retrieve, folders_object_retrieve, or folders_import_create, and no prerequisites (permissions, whether the export is synchronous, size limits) are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_folders_get_accessible_objects_retrieveApi folders get accessible objects retrieveARead-onlyIdempotent
Return the list of folders, perimeters, frameworks and risk matrices
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 multiple object types are aggregated in one payload, but says nothing about scoping ('accessible' to whom), pagination, or result shape for a multi-entity response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence naming the action and all returned resource types with zero filler. Nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, annotation-covered read tool this is nearly complete: it names what comes back. The remaining gap is the meaning of 'accessible' (user-scoped vs. folder-scoped) and whether the result is aggregated per object type, which matters given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. Nothing in the description misleads about inputs, and the empty schema is consistent with the described behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Return the list of') and enumerates the resources returned: folders, perimeters, frameworks and risk matrices. This is clearer than most siblings, but it neither explains the 'accessible objects' qualifier nor distinguishes itself from ciso_assistant_api_folders_list or similar retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternatives named, no prerequisites. 'Accessible' hints at permission-based scoping but the agent gets no rule for choosing this over folders_list or perimeters_list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_folders_ids_retrieveApi folders ids retrieveCRead-onlyIdempotent
API endpoint that allows folders to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims folders can be 'edited,' which directly contradicts the readOnlyHint=true annotation. With annotations declaring a read-only, idempotent, non-destructive operation, the description instead suggests a write capability and provides no additional behavioral context about what IDs are returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence and is not bloated, but its brevity comes at the cost of clarity. The sentence is not front-loaded with a specific action and includes misleading wording rather than useful detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieval endpoint with no output schema, the description should explain what is returned, especially the 'ids' aspect, but it does not. It also fails to clarify how this differs from other folder retrieval endpoints, leaving the agent without enough information to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics to document. The baseline score of 4 applies because no compensating detail is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it is an 'API endpoint that allows folders to be viewed or edited,' which restates a generic resource operation rather than the specific 'ids_retrieve' action. It does not distinguish this tool from sibling endpoints like folders_retrieve, folders_object_retrieve, or folders_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus alternatives such as folders_retrieve or folders_list. The phrase 'viewed or edited' implies a broad capability but gives no exclusions or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_folders_import_createApi folders import createC
Handle file upload and initiate import process.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already disclose that this is a non-read-only, non-idempotent, open-world, non-destructive operation, so the description only needs to add context. It adds that the action involves a file upload and initiates an import process, but does not explain file format expectations, whether the import is asynchronous, what happens on partial failure, or what existing data may be affected. The description is consistent with the annotations but remains shallow.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no filler, and the core action is front-loaded. It is not verbose, though its brevity comes at the cost of specificity rather than being a structural flaw.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an import/create tool, the definition is missing important context: what is imported, what file format is expected, whether the call is synchronous or asynchronous, and what the result indicates. There is no output schema to compensate, and the empty input schema makes the file-upload claim especially underspecified. The annotations cover safety hints but not enough behavioral detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema declares zero parameters, which normally gives a baseline of 4 because there is nothing to document. However, the description implies a file upload even though the schema exposes no file or import-related parameter, creating ambiguity about how the input is supplied. This mismatch prevents the description from fully clarifying parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states that the tool handles a file upload and initiates an import process, which is a recognizable purpose. However, it never says what is being imported (folders) or how this differs from related tools such as folders_import_dummy_create or folders_create. The verb 'handle' is vague and leaves the exact operation unclear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling folders_import_dummy_create or other folder creation/import endpoints. It also omits prerequisites such as authentication or file preparation. The agent is left to infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_folders_import_dummy_createApi folders import dummy createC
API endpoint that allows folders to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already specify readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false. The description adds no behavioral context about what 'dummy import' means, whether it creates real data, or what side effects occur, so it fails to enrich the annotation profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence, but the sentence is generic and does not front-load actionable information about the tool's specific purpose. Every sentence should earn its place, and this one does not.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete for a create endpoint: it never explains what a 'dummy import' is, what gets created, or how this differs from related folder tools. With no output schema and only sparse annotations, the description should carry more explanatory weight.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so the baseline is 4. The description does not contradict or need to explain parameters, though it also provides no additional parameter context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it is an API endpoint for viewing or editing folders, which is a generic restatement of the title and does not convey what 'import dummy create' actually does. It fails to distinguish this tool from siblings like folders_import_create or folders_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. The description gives no usage context beyond a generic endpoint summary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_folders_listApi folders listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| limit | No | ||
| owned | No | ||
| owner | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| content_type | No | ||
| parent_folder | No | ||
| filtering_labels | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true. The description adds no user-relevant behavioral context such as pagination, filtering behavior, or what the optimized serializer data means; it mainly describes an internal override.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not verbose, but it is not front-loaded with user-facing purpose. The sentence is essentially an internal implementation note rather than useful tool documentation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list endpoint with 12 optional parameters, no output schema, and many sibling folder tools, the description is completely inadequate. It does not explain the returned resources, filtering, pagination, ordering, or how to distinguish this list from other folder-related tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 12 parameters with 0% description coverage, including id, name, limit, owned, owner, offset, search, ordering, max_pages, content_type, parent_folder, and filtering_labels. The description says nothing about any of them, so an agent receives no semantic help for choosing or formatting parameter values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an implementation note about overriding the list method and injecting optimized serializer data, not a statement of what the tool does for an agent. From the name and title an agent may infer it lists folders, but the description itself does not clearly say that.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or how it relates to sibling folder tools such as folders_retrieve or folders_my_assignments_retrieve. The description provides only an internal code-level rationale.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_folders_my_assignments_retrieveApi folders my assignments retrieveCRead-onlyIdempotent
API endpoint that allows folders to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The phrase "viewed or edited" asserts write capability while the annotations declare readOnlyHint=true and destructiveHint=false, an inconsistency that could lead an agent to treat this as a mutation endpoint. Beyond that conflict, the description discloses nothing about result scope (user's own assignments) or what data comes back.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no wasted clauses, so it is concise in form. However, the brevity comes from omission rather than efficiency: the one sentence says nothing specific about this endpoint's behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters, annotations covering safety, and no output schema, the description was the only place to explain what "my assignments" returns and to whom. It omits that entirely, leaving the agent without the one piece of information this tool's name implies but does not confirm.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema carries no semantics to document and the baseline for this dimension is 4. The description neither helps nor harms parameter understanding, since there is nothing to explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names only the generic resource ("folders") and says it can be "viewed or edited", which restates the boilerplate viewset title rather than the specific action. It never states the distinguishing fact implied by the tool name: that it returns folders assigned to the current user, so an agent cannot tell it apart from folders_list or folders_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this endpoint, no mention of the personal/assignment scope, and no reference to alternatives such as ciso_assistant_api_folders_list or ciso_assistant_api_folders_object_retrieve. The agent is left to infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_folders_object_retrieveApi folders object retrieveDRead-onlyIdempotent
API endpoint that allows folders to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows folders to be "viewed or edited", while annotations declare readOnlyHint=true and destructiveHint=false. That is a direct conflict: an agent could reasonably attempt a write through a route that only accepts an id. Beyond that conflict the text adds nothing about auth, permissions, or what the retrieved object contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding and nothing buried, but the brevity comes from under-specification rather than efficiency — the one clause it does contain is the misleading "or edited".
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter detail-retrieval endpoint with no output schema, the description should at minimum identify the id as the folder key and describe the returned folder object. It does neither, and the ambiguity versus the numerous folder siblings is left entirely unresolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has one required parameter (id) with 0% schema description coverage, so the schema supplies only "type: string". The description does not mention the parameter at all, leaving it unclear that this is a folder identifier (presumably a UUID) and not a name or path.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (folders) and gestures at an operation ("viewed"), but "viewed or edited" is boilerplate that does not pin down what this specific endpoint returns. It is almost a restatement of the title "Api folders object retrieve" and gives no way to tell it apart from the many sibling folder tools (folders_retrieve, folders_list, folders_object_retrieve, folders_get_accessible_objects_retrieve).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of any alternative. With ~20 folder siblings in the catalogue, an agent receives zero signal about when to pick this one over folders_retrieve or folders_list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_folders_org_tree_retrieveApi folders org tree retrieveBRead-onlyIdempotent
Return the tree of domains and perimeters.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds only that the payload is a tree of domains and perimeters — useful for identifying the return content, but nothing about depth, scoping, permissions, or whether all folders are included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, and the key noun ('tree of domains and perimeters') is front-loaded. It is arguably too terse rather than verbose, which costs nothing on this dimension but leaves gaps elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only source of information about the return value, yet it does not describe the shape of the tree (nesting, node fields, ordering) or whether the result is limited to accessible perimeters. Adequate to call, but thin for interpreting the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies. The description has no parameters to explain and nothing is left ambiguous on the input side.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Return the tree of domains and perimeters') and clarifies that folders are expressed as domain/perimeter nodes. However, it does not differentiate itself from sibling readers such as folders_list, folders_retrieve, or folders_cascade_info_retrieve, so the agent must infer which tree-shaped call it wants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus folders_list, folders_retrieve, or folders_cascade_info_retrieve, and no stated preconditions. The only signal is the word 'tree', which implies hierarchical overview rather than flat listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_folders_partial_updateApi folders partial updateC
API endpoint that allows folders to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so safety is covered; the description adds nothing beyond them. Worse, 'viewed or edited' muddies the picture by implying a read capability on what annotations mark as a non-idempotent write.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is concise, but the sentence carries no actionable information and does not front-load scope, required id, or partial-update semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque free-form body, no output schema, and only four annotations, the description leaves the agent guessing about accepted fields, merge vs replace behavior, and permissions. Substantially more disclosure is needed for this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the body parameter is an unconstrained object with additionalProperties=true, so the schema tells the agent nothing about which folder fields can be patched. The description does not list a single updatable field or explain the id/body relationship, so it entirely fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic CRUD boilerplate: 'allows folders to be viewed or edited' restates the title without stating that this is a PATCH-style partial update of a single folder identified by id. It gives no way to distinguish it from siblings like ciso_assistant_api_folders_update, ciso_assistant_api_folders_retrieve, or ciso_assistant_api_folders_partial_update... (this tool itself).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of alternatives (full update vs partial update vs retrieve), and no prerequisites. An agent must infer from the tool name alone that this is the partial-update operation rather than a read.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_folders_quality_check_retrieveApi folders quality check retrieveBRead-onlyIdempotent
Returns the quality check of assessments grouped by folder.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 needs no restatement. The description adds one behavioral detail beyond the annotations — that results are grouped by folder — but says nothing about scope of assessments included, permissions, or response shape. Adequate, not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no filler. It is efficient, though its brevity is partly under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description carries the burden of describing what comes back, and 'quality check ... grouped by folder' only hints at the payload. An agent still cannot tell what a quality check result contains or which assessment type is covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to explain and the baseline 4 applies. The single-sentence description is consistent with a no-argument, no-filter retrieval.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (returns) and resource (quality check of assessments grouped by folder), which is enough to distinguish it from generic list/retrieve siblings. It does not clarify which assessment domain (compliance vs risk) it covers, and there is an identical sibling (folders_quality_check_retrieve_2) plus compliance_assessments_quality_check_retrieve that it never disambiguates against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives. In a sibling set containing three other *_quality_check_retrieve tools, the agent gets no signal about which to pick or what the folder-grouped variant is for.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_folders_quality_check_retrieve_2Api folders quality check retrieve 2CRead-onlyIdempotent
Returns the quality check of assessments for a specific folder.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the tool returns a 'quality check of assessments', but it does not explain what that quality check contains, whether it is computed or stored, or any other behavioral detail beyond a basic read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It is appropriately sized for a simple retrieve call, though it could use one additional clause to clarify the folder id or return shape.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve endpoint with no output schema and an undocumented 'id' parameter, the description should explain what 'quality check' means and clarify the identifier. It also fails to address the duplicate sibling tool, leaving the agent with insufficient context to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter ('id') with 0% description coverage. The description implies the id refers to a 'specific folder', but it does not state the expected identifier format (e.g., UUID or reference) or whether it is a folder id specifically.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Returns') and identifies the resource as a 'quality check of assessments for a specific folder'. However, it does not distinguish this tool from the nearly identical sibling 'ciso_assistant_api_folders_quality_check_retrieve', so an agent cannot tell which variant to choose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling 'ciso_assistant_api_folders_quality_check_retrieve' or any other quality-check endpoint. No prerequisites, exclusions, or contextual triggers are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_folders_retrieveApi folders retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description does add one genuine behavioral fact beyond the annotations — unauthorized related fields are masked — but leaves unexplained what happens when the ID is missing or the caller lacks access to the folder itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, but it is under-specified rather than concise — the single idea it conveys is not the one an agent most needs (which resource, which identifier).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A single-object read with no output schema and no annotation coverage of return semantics needs the description to identify the resource, the identifier type, and the masking/permission behavior. Only the masking hint is present, leaving the definition materially incomplete for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required 'id' parameter has 0% schema description coverage, so the description must carry the burden and does not: it never says whether id is a folder UUID, a numeric key, or a path, nor what form it takes. Nothing is added over the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Return a single object,' which essentially restates the 'retrieve' verb in the name without ever naming the resource (folders). An agent cannot distinguish it from siblings like folders_object_retrieve, folders_list, or any of the hundreds of other *_retrieve tools without falling back on the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no mention of folders_object_retrieve or folders_list as alternatives, and no prerequisites. The only usable guidance is implicitly carried by the tool name, not the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_folders_updateApi folders updateDIdempotent
API endpoint that allows folders to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true. The description adds no behavioral context such as permissions, side effects, or what the body update affects, and its 'viewed or edited' phrasing 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is brief, but it is boilerplate and under-specified. 'Viewed or edited' is vague and includes read behavior irrelevant to an update endpoint, so the brevity does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema and 0% parameter description coverage, the description should at least explain update versus partial update and the role of the body payload. It instead remains generic and leaves the agent without enough context to invoke it reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters, and the description never mentions the required id or the body object. It does not compensate for the schema gap by explaining what body fields represent or how the update payload is structured.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint allows folders to be viewed or edited, naming the resource but using generic boilerplate. For an update tool, it conflates read and write behavior and does not distinguish it from siblings such as folders_retrieve or folders_partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus partial_update, retrieve, or create. It provides only a generic statement that folders can be viewed or edited, leaving the agent to infer the update-specific use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_folders_users_listApi folders users listDRead-onlyIdempotent
api_folders_users_list
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is clear and the description does not contradict it. However, the description contributes nothing beyond the annotations: it does not explain the folder-scoping behavior, pagination semantics, or what a listing response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single bare token, so it is trivially short but under-specified rather than concise. There is no front-loaded statement of purpose, so there is nothing for the extra brevity to buy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter paginated list endpoint with no output schema and zero schema description coverage, the description should carry substantial weight and instead carries none. An agent has no basis to choose between this and the many other folder/user list tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for six parameters, and the description supplies no meaning for any of them. The required 'id' (presumably folder id), plus limit/offset/search/ordering/max_pages, are entirely undocumented in both places, so the agent cannot know how pagination or search behave.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the operation identifier 'api_folders_users_list' restated with no added phrasing; it is pure tautology of the name and title. At best it implies listing users scoped to a folder, but no verb or resource is articulated beyond the slug, and it does not distinguish this from siblings like ciso_assistant_api_users_list or ciso_assistant_api_folders_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling it replaces. An agent must infer from the name alone whether this returns folder-scoped users versus all users, and no prerequisites or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_batch_action_createApi frameworks batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true and idempotentHint=false, so the safety profile is covered structurally. The description adds nothing beyond that: it does not say which operations are possible in the batch, whether partial failures are reported, or what side effects occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is not padded, but the brevity comes at the cost of substance rather than from efficient information density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, non-readonly mutation tool with an empty input schema and no output schema, the description should explain what is created, what permissions are needed, and how targets are selected. None of that is present, so an agent cannot safely invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero declared parameters, the schema itself provides no semantics and the description offers no help either, leaving unclear how target objects and the action are supplied. The empty schema with additionalProperties=false is unusual for a batch tool and the description does not explain how invocation works.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the name in generic terms ('batch action on multiple objects') without ever naming the resource being acted on (frameworks) or what the action does. Since dozens of sibling tools share the identical batch_action_create pattern, the description gives the agent nothing to distinguish this tool from any of them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus the single-object create/update/destroy siblings, no prerequisites, and no mention of what a 'batch action' entails. The agent must infer everything from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_cascade_info_retrieveApi frameworks cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is known. The description adds no context about what is being previewed, what data is returned, or any authorization or side-effect considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but this is under-specification rather than effective conciseness. 'Cascade preview:' is not front-loaded with actionable meaning and omits the essential information an agent needs to select and invoke the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although the tool has only one parameter and no output schema, the description is still incomplete because it does not explain what the cascade preview returns or how the ID is used. The annotations cover the read-only safety profile, but the description itself provides almost no operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, and the description does not compensate. It does not say whether 'id' refers to a framework ID, a requirement node ID, or another resource, nor does it give format or example values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the fragment 'Cascade preview:' and does not state a specific verb or resource. It vaguely hints at a preview operation but does not explain what 'cascade info' means or how it differs from sibling retrieve and cascade_info endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or which alternatives such as ciso_assistant_api_frameworks_retrieve or ciso_assistant_api_frameworks_object_retrieve should be used instead. The user is left to infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_createApi frameworks createD
API endpoint that allows frameworks to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true, so the payload semantics are the description's job — and it omits everything about what a create does (required fields, side effects, whether a draft/version is produced, permissions). 'Viewed or edited' arguably points toward a read/edit semantics that the annotations' write profile only partially matches, though it is ambiguous rather than a hard contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but it is under-specified rather than concise — the one sentence conveys no usable information and even misdirects ('viewed'). Brevity here reflects a missing description, not an efficient one.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an entirely opaque body payload, no output schema, and no annotations covering data-shape expectations, the description supplies none of what an agent needs: what a framework object looks like, what is required, or what a successful create yields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter ('body') that is an untyped object with additionalProperties:true and 0% schema description coverage, so the schema explains nothing about the framework payload. The description adds no field names, no required structure, and no hint about the expected body shape — the only source of parameter meaning is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates a generic DRF docstring about frameworks being 'viewed or edited' rather than stating that this endpoint creates a framework. It never uses a creation verb, and for a tool named 'create' among dozens of frameworks_* siblings (list, retrieve, update, destroy), it fails to distinguish the operation at all.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus ciso_assistant_api_frameworks_list, retrieve, update, or publish_draft. An agent gets no condition, prerequisite, or exclusion that would let it pick this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_destroyApi frameworks destroyDDestructiveIdempotent
API endpoint that allows frameworks to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, but the description says the endpoint allows frameworks to be "viewed or edited" — a benign read/write framing that contradicts the declared destructive behavior. It omits permanence, cascade effects on linked requirement nodes/assessments, and permission requirements, all of which matter for an irreversible delete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but brevity here comes from under-specification rather than economy: the one sentence is boilerplate that conveys no tool-specific information, so no sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive mutation with no output schema and no annotations beyond the safety flags needs the description to say what is removed and what breaks downstream. Instead the description covers none of that and actively mislabels the operation as viewing/editing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required `id` parameter, and the description adds no meaning — no indication of what the identifier refers to (framework UUID vs. ref_id) or what happens when it is unknown. A one-param tool does not excuse total silence when the schema documents nothing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate: "allows frameworks to be viewed or edited." The resource (frameworks) is named, but the verb is wrong for this endpoint — the name and the title say destroy, yet the description describes viewing/editing, so an agent cannot tell it is a delete operation from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative routing. Across dozens of sibling frameworks_* tools (retrieve, list, update, duplicate, publish_draft, etc.), nothing tells the agent to pick destroy over partial_update or to check dependencies first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_discard_draft_createApi frameworks discard draft createB
Discard editing_draft without affecting relational data.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=false and idempotentHint=false; the description adds real value by scoping the effect to the draft and stating that relational data is untouched. However it does not say whether the underlying published version is restored, what happens if no draft exists, or what authorization is required — gaps that matter for a mutation endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single seven-word sentence with the action front-loaded and no filler. It is efficiently sized, though the extreme brevity leaves the scope claim ('relational data') unexplained for a reader unfamiliar with the platform's draft model.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter endpoint with no output schema and annotations covering the safety profile, the description covers the core claim but omits the post-condition (does the framework revert to its published revision?), the identity of the referenced object, and error behavior when no draft is open.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter with 0% schema description coverage, and the description does not explain what 'id' refers to (framework id vs draft id). However, with only one required identifier passed alongside the framework-scoped tool name, the ambiguity is small and the description's statement about preserved relational data reduces the risk of mistaking it for a cascade delete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (discard) and a specific resource/state (editing_draft), so an agent can tell it is a rollback of an in-progress edit rather than a delete of the framework itself. It does not differentiate this discard from the near-identical discard_draft endpoints on presets and risk_matrices, and it never says the draft belongs to a framework.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of the obvious alternatives in the sibling set (frameworks_publish_draft_create, frameworks_save_draft_partial_update, frameworks_start_editing_create). The agent must infer that this is the abort path of an editing session from the word 'discard' alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_duplicate_createApi frameworks duplicate createB
Deep-clone a framework with all requirement nodes, questions, and choices.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose the safety profile (readOnly=false, destructive=false, idempotent=false, openWorld=true), so the description's job is lighter. It adds genuine value by disclosing that the clone is deep and carries child objects (requirement nodes, questions, choices), warning the agent that this creates substantial related data. It does not say whether the copy starts as a draft, requires publish/editing workflow, or returns the new framework's identifier.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the action and immediately followed by the scope of what is copied. No filler, nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent mutation with an undocumented parameter and no output schema, the description covers what is copied but not what comes back (new id/ref?) or that repeated calls yield multiple distinct copies. Adequate but leaves real gaps for an agent planning the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single 'id' parameter, so the description must carry the meaning. 'Deep-clone a framework' only indirectly implies that 'id' identifies the source framework to copy; it never says so explicitly or clarifies whether the id is a URN, UUID, or ref_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Deep-clone a framework') and enumerates the scope of what is copied (requirement nodes, questions, choices), which distinguishes it from the sibling frameworks_create. It does not explicitly name frameworks_create as the alternative, so an agent must infer the distinction from the verb alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus frameworks_create, frameworks_partial_update, or frameworks_tree_retrieve, and no prerequisites (e.g. that the framework must exist and be readable). The use case is only implied by the verb 'clone'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_excel_template_retrieveApi frameworks excel template retrieveDRead-onlyIdempotent
API endpoint that allows frameworks to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, yet the description says the endpoint allows frameworks to be 'viewed or edited', implying a write capability the tool does not have. Nothing is said about what is actually returned (a downloadable Excel template file), which is the single behavioral fact an agent needs here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is compact and front-loaded, but the sentence is boilerplate that conveys no tool-specific information, so its brevity comes at the cost of usefulness rather than from discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one required parameter, no output schema, and a read-only endpoint returning a file, the description should explain the id and the binary/file nature of the response. It explains neither, so an agent cannot confidently construct the call or anticipate the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single required parameter 'id' is an undescribed string. The description does not clarify whether this id identifies a framework, a template, or a library, leaving the caller to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST-Framework boilerplate ('allows frameworks to be viewed or edited') that never mentions the actual operation named in the tool and title: retrieving an Excel template. It does not distinguish this tool from sibling endpoints such as ciso_assistant_api_frameworks_retrieve, frameworks_list, or frameworks_export_yaml_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this endpoint versus the many other framework endpoints, no prerequisite information (e.g., that it produces a template for import), and no exclusions. The only guidance is the implied 'frameworks' domain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_export_yaml_retrieveApi frameworks export yaml retrieveARead-onlyIdempotent
Export a framework as a library-compatible YAML file.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered. The description adds the one genuinely new behavioral fact — that the result is a YAML export suitable for library import — but says nothing about size limits, permissions, or how the file is delivered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single twelve-word sentence with zero filler, front-loaded on the verb and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter export endpoint with no output schema, the agent still lacks the id format and any sense of what the returned YAML contains or how large it may be. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the description must compensate and only weakly does: 'a framework' implies the id identifies a framework, but the description never states that or gives the id format (slug vs UUID).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (export) and resource (framework) plus the output format (library-compatible YAML), which partially distinguishes it from sibling framework endpoints such as excel_template_retrieve or report_retrieve. It does not explicitly contrast with those siblings, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'library-compatible' implies the intended use case (producing a file for reloading into the library system), but there is no explicit when-to-use statement, no mention of prerequisites, and no named alternative for agents who want a report or Excel instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_listApi frameworks listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| baseline | No | ||
| ordering | No | ||
| provider | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered; the description adds zero behavioral context such as pagination, filtering behavior, or what 'optimized data' means for the response. The phrase 'serializer context' describes server internals, not observable behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence, but it is concise in the wrong way: it spends its only line on an internal override rationale instead of front-loading any information an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list endpoint with 9 filtering/pagination parameters and no output schema, the description supplies nothing about filters, defaults, or result shape. An agent cannot invoke this correctly from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 9 parameters (id, limit, folder, offset, search, baseline, ordering, provider, max_pages) with 0% schema description coverage, and the description mentions none of them. With zero compensation for an entirely undocumented parameter set, this is a clear failure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Override the list method to inject optimized data into the serializer context' is an internal implementation note rather than a statement of what the tool does. It hints at listing but never names the resource (frameworks) or the user-facing action, leaving purpose effectively undocumented.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or how it relates to siblings like ciso_assistant_api_frameworks_retrieve or ciso_assistant_api_frameworks_tree_retrieve. Nothing routes an agent to or away from this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_mappings_retrieveApi frameworks mappings retrieveDRead-onlyIdempotent
API endpoint that allows frameworks to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, yet the description explicitly says the endpoint allows frameworks to be 'viewed or edited', implying a mutation path this tool does not offer. Beyond that it adds no behavioral context (required permissions, 404 behavior, scope of returned object), so it both contradicts and fails to supplement 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no padding, so it is not verbose. However, the sentence is generic DRF boilerplate that spends its few words on an irrelevant 'or edited' clause rather than the operation's actual scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-by-id tool with no output schema and an undocumented parameter, the description should at minimum state that it returns a single framework mapping object by id. Instead it describes a generic frameworks endpoint, leaving the agent unable to predict the response shape or confirm the call is correct.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required 'id' string has 0% schema description coverage, so the description carries the full burden — but it says nothing about what the id identifies (a framework, a mapping set, a requirement node?) or its format. With documentation this thin, an agent could easily pass the wrong identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that the endpoint 'allows frameworks to be viewed or edited' — it never mentions 'mappings', which is the distinguishing part of the tool name, and gives no verb/resource pairing specific to a single-object read. Among siblings like frameworks_retrieve, frameworks_object_retrieve and frameworks_mapping_stats_retrieve, nothing here tells the agent which one this is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or which sibling to prefer for framework-mapping data. The agent has to infer usage entirely from the tool name and the single required id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_mapping_stats_retrieveApi frameworks mapping stats retrieveDRead-onlyIdempotent
API endpoint that allows frameworks to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows frameworks to be 'edited', while annotations declare readOnlyHint=true and destructiveHint=false for a retrieve endpoint. Nothing is said about what statistics are returned or their scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no bloat, but the content is generic boilerplate rather than a front-loaded statement of purpose, so brevity does not translate into value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, an opaque id parameter, and no annotation-level detail added, the description leaves the agent unable to know what data comes back or how the id is interpreted. Far from complete for even a simple retrieve endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, and the description does not explain what the id identifies (framework id? mapping set id?) or its format. The description must compensate here and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that frameworks can be 'viewed or edited', which restates the API-endpoint framing without stating what this specific tool returns. The tool name indicates mapping statistics retrieval, yet the description never mentions mappings or stats, and it does not distinguish itself from the close sibling frameworks_mappings_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus frameworks_retrieve, frameworks_mappings_retrieve, or frameworks_object_retrieve. 'Viewed or edited' actively misdirects rather than guiding selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_names_retrieveApi frameworks names retrieveCRead-onlyIdempotent
API endpoint that allows frameworks to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says frameworks can be 'viewed or edited', but the annotations declare readOnlyHint=true and the schema accepts zero parameters, so no editing is possible. The claim misrepresents the operation and adds no real 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short, front-loaded sentence with no filler, but its brevity comes from under-specification rather than efficiency - the one sentence conveys almost nothing actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is the only place a caller could learn what comes back (a list of framework names/IDs, whether it is a full list or autocomplete-style). It says nothing, which leaves the return shape entirely unknown among dozens of similar framework endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there is no parameter semantics to explain and the baseline of 4 applies. The description neither helps nor hurts here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST boilerplate that largely restates the name: 'API endpoint that allows frameworks to be viewed or edited.' It never clarifies the distinguishing element of this endpoint - that it returns framework *names* only - nor how it differs from frameworks_retrieve, frameworks_list or frameworks_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to pick this endpoint over the many framework siblings, no prerequisites, and no statement of what it returns. An agent reading only this sentence has no basis for choosing it over frameworks_list or frameworks_object_retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_object_retrieveApi frameworks object retrieveCRead-onlyIdempotent
API endpoint that allows frameworks to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows frameworks to be 'edited', while the annotations declare readOnlyHint=true and destructiveHint=false. The 'viewed' half matches the annotations, but the 'edited' half is inherited viewset boilerplate that misleads an agent about write capability, and nothing is said about lookup failure behavior for a bad id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, so it is concise, but it is boilerplate copied from the API framework and conveys essentially nothing beyond the title. Brevity here comes from under-specification rather than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve endpoint with no output schema and no useful annotation detail about the response, the description should at least indicate what a framework object contains or that it returns a single record. It says nothing about return shape, id format, or errors, leaving the agent with only the raw schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter ('id') at 0% description coverage, and the description says nothing about what the id refers to (string reference of the framework, not a numeric PK?) or what happens if it doesn't exist. With such low schema coverage the description needed to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the name/title: it says frameworks can be 'viewed or edited', which the tool name and title already convey. It does not distinguish this retrieval from the many framework siblings (frameworks_retrieve, frameworks_list, frameworks_object_retrieve, frameworks_names_retrieve, etc.), so an agent cannot tell what makes an 'object_retrieve' different from a plain 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no routing to alternatives such as the list endpoint or the plain retrieve endpoint. The only clue is the inherited DRF boilerplate, which does not help an agent decide between this and the many other framework-read tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_partial_updateApi frameworks partial updateD
API endpoint that allows frameworks to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, so safety context is partly carried. The description adds no behavior of its own: it does not state that this is a partial (PATCH) update, which fields are mutable, whether the record must exist, or whether the change is reversible — and it misleadingly includes "viewed".
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, but brevity here comes from under-specification rather than efficiency. Nothing is front-loaded beyond a generic purpose clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and vague annotations mean the description must carry the load for a mutation tool, and it does not. An agent cannot determine from this text what a partial update accepts or returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the body is an opaque free-form object, so the description must compensate and it does not. Neither `id` nor `body` is mentioned, and no field-level or format detail is supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint that allows frameworks to be viewed or edited" is boilerplate that restates the resource without naming the operation. It never says this is a PATCH/partial update on a single framework by id, and it blurs viewing and editing on a tool whose annotations mark it non-read-only.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. With ~20 sibling framework tools (frameworks_update, frameworks_partial_update variants, frameworks_save_draft_partial_update, frameworks_retrieve, frameworks_object_retrieve) the description gives the agent nothing to choose between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_provider_retrieveApi frameworks provider retrieveCRead-onlyIdempotent
API endpoint that allows frameworks to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, destructiveHint=false and idempotentHint=true, yet the description says frameworks may be 'edited' through this endpoint. That is a direct contradiction of the structured safety profile, and the description adds no legitimate behavior context (what 'provider' data is, access requirements, response shape).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, but the brevity reflects boilerplate rather than front-loaded useful information. Nothing important is placed first because nothing important is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description is the only place an agent could learn what 'provider' means in a CISO Assistant framework context (e.g., provider/library choice metadata). It instead gives the generic DRF docstring, leaving the agent unable to distinguish this from frameworks_retrieve.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is fully described, so there is nothing for the description to disambiguate. Baseline 4 applies; the description neither helps nor hurts here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the name: an 'API endpoint' letting 'frameworks' be 'viewed or edited.' It does not explain what the 'provider' segment of the tool name actually returns or how it differs from the many sibling framework reads (frameworks_retrieve, frameworks_list, frameworks_object_retrieve).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus the other framework retrieval endpoints, and the only implied trigger ('view frameworks') applies equally to a dozen siblings. The 'or edited' clause even points at write usage that this tool cannot perform.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_publish_draft_createApi frameworks publish draft createC
Publish editing_draft → relational DB, snapshot history, bump version.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation set already declares readOnlyHint=false, idempotentHint=false and destructiveHint=false, so the description's main job is to add context beyond that. It does add real behavior: the draft is written to the relational DB, a snapshot is recorded to history, and the version is bumped. What it omits is the prerequisite editing state, the effect on any previously published version, and whether the draft is consumed afterwards.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short clause with the mutation's effects front-loaded; no filler. The arrow/telegraphic style is dense but efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameter documentation, the description is the only source of context, and it leaves out prerequisites (must be in editing mode), the response shape, and failure conditions. For a version-bumping publish mutation that is a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the single parameter 'id' is completely undocumented. The description implies the id identifies the editing_draft being published, but it never says whether it is a framework id, a draft id, or a UUID, leaving the agent to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Publish) and a specific resource (editing_draft) for frameworks, which implicitly separates it from siblings like discard_draft, save_draft and publish_draft_preview. It never names those siblings explicitly, but an agent can tell the operation apart from the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus publish_draft_preview (preview before committing), start_editing (prerequisite), or discard_draft. The agent must infer that a draft must already exist and be in editing state.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_publish_draft_preview_createApi frameworks publish draft preview createC
Preview the impact of publishing the current draft.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is partly covered. The description adds only the word 'preview' and does not clarify whether a preview has any side effect, whether it requires the caller to be in an editing session, or what the preview result contains — the most important behavioral question for a preview endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with zero filler. It is efficient, though its brevity contributes to the completeness gaps noted elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A preview tool's entire value is its returned impact data, and there is no output schema; the description says nothing about what the preview reports or how to read it. Combined with an undocumented 'id' parameter and no prerequisites, the definition leaves an agent unable to call this confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter, 'id', with 0% schema description coverage, and the description does not say what it identifies (the framework ID? a draft ID? a publish candidate ID?). With one undocumented parameter the description needed to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource pair ('Preview the impact of publishing the current draft'), which is far more informative than the tautological title. It implicitly separates this from the actual publish operation (ciso_assistant_api_frameworks_publish_draft_create), though it never names that sibling or the parallel presets variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is a pre-flight check before publishing a framework draft. There is no explicit 'use this before X, not instead of Y' routing, and no stated prerequisites such as requiring an active draft/editing session.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_report_retrieveApi frameworks report retrieveCRead-onlyIdempotent
Cross-assessment report for one framework.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered by structured data. The description adds nothing beyond that: no indication of report size, whether it aggregates multiple assessments, or whether it requires a specific framework state (e.g. an in-progress assessment) to return data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so it is not verbose. But the brevity is under-specification rather than efficiency: the one sentence does not carry enough information to justify being the entire description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists and the only parameter is undocumented, so the description carries the full explanation burden and falls well short. It never says what the report returns or what the id must reference, which an agent needs in order to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description does not mention the single required parameter at all. An agent cannot tell from either source whether 'id' is a framework ID, an assessment ID, or a report identifier, which is a critical ambiguity for a one-parameter lookup.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Cross-assessment report for one framework' identifies a report resource scoped to a single framework, which does distinguish it from generic siblings like frameworks_retrieve or frameworks_mapping_stats_retrieve. However, it omits an explicit verb and never clarifies what a 'cross-assessment' report actually contains, leaving the agent to guess at the output's nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus frameworks_retrieve, compliance_assessments_recap_retrieve, or the many other framework report endpoints. No prerequisites, no exclusions, no alternative named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_retrieveApi frameworks retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds one genuinely useful behavioral detail, that unauthorized related fields are masked, which is not expressed in annotations. However, it does not explain permission requirements, masking specifics, or any other retrieval behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, so it is not bloated, but it is under-specified rather than appropriately concise. The one sentence provides too little information for an agent to select and invoke the tool correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does not explain the returned framework object beyond saying related fields may be masked. Combined with no parameter documentation and no sibling differentiation, the definition is insufficient for reliable tool selection in a large API surface.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has one required parameter, id, and schema description coverage is 0%, so the description must compensate. It says nothing about what the id identifies, its format, or what happens if it is invalid or unauthorized.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns 'a single object' but never identifies the object as a framework or mentions the frameworks resource. Against many sibling retrieve tools (frameworks_retrieve, frameworks_object_retrieve, frameworks_list), an agent cannot tell what this tool actually returns or how it differs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives such as frameworks_object_retrieve or frameworks_list, and no indication of when this retrieve endpoint is appropriate. The only implied usage is that it retrieves one object by id, which is minimal and not enough to distinguish it from siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_save_draft_partial_updateApi frameworks save draft partial updateC
Update editing_draft with the current WIP from the frontend.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the safety profile is covered. The description adds only the notion of a draft/WIP state, without explaining what gets overwritten, whether the draft must exist, or what authorization is required to save it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, but the brevity comes at the cost of under-specification rather than efficiency; the one clause present is jargon-heavy ('WIP from the frontend').
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent write operation with an undocumented required parameter and no output schema, the description leaves critical questions open: which object the id refers to, what payload is saved, and how this differs from sibling draft operations. It is not enough for an agent to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, and the description never mentions what the id identifies (a framework? a draft?). Worse, the description claims the tool updates a draft 'with the current WIP', yet the schema exposes no draft content at all, so the parameter story is actively confusing rather than just thin.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb+resource ('Update editing_draft') is stated, but 'editing_draft' and 'WIP from the frontend' are internal/frontend-centric jargon; the description never says this operates on a framework draft, unlike siblings such as frameworks_publish_draft_create or frameworks_discard_draft_create. An agent can guess it persists a draft, but cannot cleanly separate it from the other frameworks draft tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus frameworks_publish_draft_create, frameworks_discard_draft_create, frameworks_partial_update, or frameworks_start_editing_create. No prerequisites (e.g., must a draft be started first?) are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_serve_image_retrieveApi frameworks serve image retrieveCRead-onlyIdempotent
Serve an image attachment belonging to this framework.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| attachment_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive and openWorld, so the bar is lower. The description contributes the fact that the payload is an image belonging to a framework, but says nothing about the returned content type, whether the binary is streamed, or what error surfaces when the attachment is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with no filler and the key scoping phrase ('belonging to this framework') placed early. It is efficient, though so terse that brevity shades into under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and two undocumented parameters, the description needs to carry more weight than it does. An agent still cannot tell what the response body looks like (raw image bytes vs a URL) or how the two identifiers relate, which is critical for this binary-serving endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both required parameters, so the description must compensate and largely does not. Only by inference can an agent map 'id' to the framework and 'attachment_id' to the image — the description never states this distinction or any format constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Serve an image attachment belonging to this framework.' This makes clear it returns image content keyed to a framework, not framework metadata. It doesn't distinguish itself from the near-identical sibling requirement_nodes_serve_image_retrieve, so sibling differentiation is left to the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no alternatives named. The agent is not told how to obtain a valid attachment_id (e.g., from a prior frameworks_retrieve call) or what happens when the framework has no image.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_start_editing_createApi frameworks start editing createB
Serialize the framework tree into editing_draft to begin editing.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, so the safety profile is covered. The description usefully adds that the mutation materializes a draft copy of the tree, but says nothing about overwriting an existing draft, permission requirements, or failure conditions — the main behavioral risks for this operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is slightly over-compressed, relying on the internal term 'editing_draft' without explaining what that state enables or how it is later committed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does not say what is returned (a draft id? the serialized tree?). For a non-idempotent state-mutating tool in a large draft lifecycle family, more context on state transitions and error conditions is warranted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden for the single required 'id' parameter. It only indirectly implies the id refers to the framework ('the framework tree'); it does not clarify whether it is the framework id, a draft id, or a revision id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The specific verb+resource is present: it serializes the framework tree into an 'editing_draft' to start an editing session, which goes beyond a restatement of the name. It does not, however, distinguish this operation from the adjacent lifecycle siblings (save_draft, publish_draft, discard_draft), so the agent must infer the boundaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'To begin editing' implies this is the entry point of a draft workflow, but there is no explicit statement of prerequisites (e.g., must a draft not already exist?) or of how it relates to save_draft_partial_update, publish_draft_create, or discard_draft_create. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_tree_retrieveApi frameworks tree retrieveDRead-onlyIdempotent
API endpoint that allows frameworks to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, yet the description says the endpoint allows frameworks to be "viewed or edited", implying a write capability the annotations explicitly deny. No additional behavioral context (tree depth, auth, pagination) is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence, so nothing is bloated, but the opener "API endpoint that allows" is filler and the sentence carries no usable information. Brevity without substance is under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve endpoint with one required param and no output schema, the description says nothing about what a "framework tree" contains, its nesting shape, or how it differs from other framework reads. An agent cannot confidently invoke this tool from the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required `id` parameter is undocumented in both schema and description. The description does not say whether `id` is a framework UUID, a library id, or a root node identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic boilerplate ("API endpoint that allows frameworks to be viewed or edited") that restates the resource but never mentions the distinguishing feature in the tool name: that it returns a *tree*. It does not differentiate from siblings like frameworks_retrieve, frameworks_list, or frameworks_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this over frameworks_retrieve, frameworks_list, or frameworks_cascade_info_retrieve, and no prerequisites or exclusions. The agent is left to guess from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_updateApi frameworks updateDIdempotent
API endpoint that allows frameworks to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that — it does not say whether this replaces the whole framework object, whether it requires draft mode or edit permissions, or what happens to unspecified fields. The phrase "viewed or edited" is also inconsistent with the write nature of the endpoint, though not a hard contradiction of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, so nothing is bloated, but it is under-specified rather than concise — it spends its only clause on generic DRF boilerplate and front-loads no actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an idempotent write tool with 0% parameter documentation, no output schema, a free-form body, and dozens of closely-related framework siblings, the description provides none of the information an agent needs to call it correctly or safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the body parameter is an untyped free-form object with additionalProperties=true, so neither schema nor description explains what fields belong in the body. The description never mentions the required `id` path parameter or the shape/contents of `body`, leaving the most important call-construction detail entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the endpoint boilerplate ("API endpoint that allows frameworks to be viewed or edited") rather than stating the specific operation. The tool is an update, yet the text conflates viewing and editing, leaving the agent unable to distinguish it from siblings like ciso_assistant_api_frameworks_retrieve, ciso_assistant_api_frameworks_partial_update, or ciso_assistant_api_frameworks_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling framework tools, in particular partial_update (PATCH) vs this update (PUT). No prerequisites, no mention of the draft/edit workflow tools (start_editing, save_draft, publish_draft) that gate framework mutation in this API.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_upload_image_createApi frameworks upload image createB
Upload an image to this framework (for splash screen markdown in draft mode).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the write/non-idempotent/non-destructive safety profile. The description adds that the upload is for splash screen markdown and applies in draft mode, but says nothing about file format/size, overwrite behavior, permissions, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It communicates purpose and context compactly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write/upload tool with no output schema and a schema that only lists id, the description is too thin. It omits the image payload mechanism, validation constraints, and post-upload behavior, leaving the agent unable to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter, id, is defined and the schema has 0% description coverage. The description does not explain that id is the framework identifier, nor does it mention how the image itself is supplied—a critical omission given the tool uploads an image but the schema exposes no file field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Upload'), resource ('image'), and target ('this framework'), plus the use case ('splash screen markdown in draft mode'). It does not explicitly name a sibling alternative, but the framework scope distinguishes it from requirement_nodes_upload_image_create and managed_documents_upload_image_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical states a clear scenario: splash screen markdown while in draft mode, which implies this should be used only on draft frameworks. It does not explain when not to use it or name alternatives such as serve_image or publish_draft.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_frameworks_used_retrieveApi frameworks used retrieveCRead-onlyIdempotent
API endpoint that allows frameworks to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The phrase "viewed or edited" implies a writable endpoint, while annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. That is a direct conflict, and the description adds nothing about what the endpoint actually returns or the scope of the "used" relationship.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from boilerplate rather than discipline — the one sentence present conveys no tool-specific information and leads with generic framing instead of the discriminating detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and the description says nothing about the return shape, the meaning of "used", or prerequisite context. For a zero-arg retrieval endpoint whose name is ambiguous among dozens of framework endpoints, the description should carry that load and does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate beyond what the empty schema already shows. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST-Framework boilerplate ("API endpoint that allows frameworks to be viewed or edited") that essentially restates the tool name. It never explains the distinguishing qualifier "used" — used by what (a compliance assessment, perimeter, library, risk matrix?) — which is the only thing separating this from siblings like frameworks_retrieve, frameworks_list, or frameworks_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus the many closely named siblings (frameworks_retrieve, frameworks_list, frameworks_object_retrieve, frameworks_names_retrieve, risk_matrices_used_retrieve). An agent seeing only this text has no basis for choosing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_get_audits_metrics_retrieveApi get audits metrics retrieveARead-onlyIdempotent
API endpoint that returns the expensive audit metrics (progress avg + audits stats).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds one genuinely useful behavioral fact — that the endpoint is expensive — and hints at the returned fields, but says nothing about access requirements, caching, or latency beyond 'expensive'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no waste, front-loading the resource and immediately qualifying it with cost and payload. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero params and no output schema, the description carries the return-shape burden and does sketch the two result groups (progress average and audit statistics). It is adequate, though a little thin on what the stats contain and whether results are org-wide or scoped.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; nothing in the schema needs explanation and the description correctly implies a parameterless call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('returns') and resource ('audit metrics') and names the payload contents (progress avg + audits stats), which separates it from the generic get_metrics_retrieve sibling. It does not explicitly say how it differs from get_metrics or get_counters, so an agent still has to infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'expensive' implies caution about calling it, but there is no explicit when-to-use/when-not guidance and no named alternative for cheaper aggregate metrics. Usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_get_combined_assessments_status_retrieveApi get combined assessments status retrieveBRead-onlyIdempotent
API endpoint that returns combined assessment counts per status
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so safety is covered. The description adds that the result is counts grouped by status, but says nothing about which statuses appear, whether counts are tenant-wide, or what the response structure looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though its brevity contributes to the ambiguity around 'combined assessments'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description bears responsibility for explaining the return value. It gives the shape at a high level ('counts per status') but does not identify which assessment domains are combined or what status values to expect, leaving meaningful ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the schema is empty, so the baseline is 4. The description does not need to explain parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a verb-resource pair ('returns combined assessment counts per status'), so the general purpose is inferable. However, 'combined assessments' is never defined — it is unclear which assessment types are aggregated or how this differs from siblings like compliance_assessments_per_status_retrieve and requirement_assessments_per_status_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this endpoint versus the many per-status siblings, nor any mention of prerequisites or scope. The agent must infer its use case from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_get_counters_retrieveApi get counters retrieveCRead-onlyIdempotent
API endpoint that returns the counters
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 no behavioral context of its own – nothing about scope (global vs. per-user/per-object), permissions, or freshness of the counters. It also doesn't 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, so it is concise, but it is under-specified rather than efficient – the brevity comes at the cost of any useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameter detail, the description is the only channel for explaining what 'counters' contains, and it says nothing. For a zero-arg global-stats endpoint that an agent must pick out of a large sibling set, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (empty object schema, additionalProperties=false), so there is nothing for the description to clarify; the baseline for a no-parameter tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it is 'an API endpoint that returns the counters' – a vague restatement of the name. 'Counters' of what (counts per module, global stats, per-object?) is never defined, so an agent cannot tell what data it actually gets or how it differs from siblings like ciso_assistant_api_get_metrics_retrieve or ciso_assistant_api_agg_data_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternatives named, no preconditions. The agent gets no signal for choosing this over the many other aggregate/metric retrieval 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.
ciso_assistant_api_get_governance_calendar_data_retrieveApi get governance calendar data retrieveBRead-onlyIdempotent
API endpoint that returns governance activity calendar data
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is fully covered structurally. The description adds no behavioral context beyond what annotations provide — no mention of time range, scoping, refresh behavior, or what 'calendar data' contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no wasted clauses, though the 'API endpoint that...' preamble is boilerplate that could be dropped for a cleaner front-loaded statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is the only source of information about what the tool returns. It does not say whether the calendar contains events, date ranges, activity types, or what fields to expect, leaving an agent unable to predict the response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The description has no parameters to explain, and 100% schema coverage is vacuous but consistent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('returns') and resource ('governance activity calendar data'), so an agent knows it is a retrieval of calendar data. However, it offers no differentiation from the many sibling calendar/retrieve endpoints (e.g., task_templates_calendar_retrieve), and 'governance activity calendar' is left as unexplained domain jargon.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool, what context or state it requires, or which sibling endpoint to prefer. The description stops at restating the endpoint's function, leaving selection entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_get_metrics_retrieveApi get metrics retrieveCRead-onlyIdempotent
API endpoint that returns the counters
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered elsewhere. The description adds nothing beyond that: it doesn't say which counters, whether they are scoped to the org, whether they require auth or a specific role, or what shape the payload takes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no waste, but it is undersized for the job: the single sentence conveys no actionable information, so efficiency is achieved by omission rather than by density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no parameters, so the description is the only place an agent can learn what 'counters' means. It leaves that completely unspecified while sitting among dozens of similarly named metrics/counters endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline there is nothing for the description to disambiguate. No parameter-level meaning is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'returns the counters' largely restates the tool name (get_metrics_retrieve) without defining what counters or metrics are returned. It gives no basis for distinguishing this from siblings like ciso_assistant_api_get_counters_retrieve, ciso_assistant_api_get_audits_metrics_retrieve, or the numerous other *_metrics_retrieve endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternatives. With a sibling named get_counters_retrieve producing apparently the same thing, the absence of routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_health_retrieveApi health retrieveCRead-onlyIdempotent
api_health_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is fully covered elsewhere. The description adds nothing on top of that — no mention of auth requirements, expected latency, or what a success/failure response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is no wasted text because there is essentially no text — this is under-specification rather than concision. The single token gives the reader nothing front-loaded beyond the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the burden of saying what the endpoint returns (e.g. a status/version payload) and how failure is signalled. It says none of that, leaving an agent unable to interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is trivially complete, so there is nothing for the description to compensate for. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the snake_case tool name restated as 'api_health_retrieve'. It implies a health check but never states a verb+resource in readable terms, and it does not distinguish this from other diagnostic endpoints like ciso_assistant_api_build_retrieve or ciso_assistant_api_agg_data_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of alternatives, no preconditions. An agent cannot tell from this text whether it is meant as a connectivity probe, a readiness check, or something else.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_iam_auth_tokens_createApi iam auth tokens createC
api_iam_auth_tokens_create
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true, so the safety profile is covered and the description does not contradict it. However, for a credential-minting endpoint the description adds nothing about whether repeated calls mint multiple valid tokens, whether the token is shown once, or what permissions are required — information an agent genuinely needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single token merely duplicates the tool name, so no sentence earns its place. Brevity here reflects under-specification rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero params, no output schema, and only annotations to lean on, the description should explain what comes back (a token string?) and any security caveats. It supplies none of that, leaving an agent unable to predict the result of invoking it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline this scores 4; the empty schema with additionalProperties=false is unambiguous. The description neither helps nor hurts here, but an agent might still wonder whether the token's owner/scope is implied by the caller — a small unaddressed ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal tool identifier restated ("api_iam_auth_tokens_create") — a tautology that offers no verb/resource phrasing beyond what the name already encodes. An agent can infer token creation only by parsing the snake_case name, and nothing distinguishes it from siblings like iam_session_token_create or iam_auth_tokens_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no mention of auth requirements, no comparison to iam_session_token_create, iam_auth_tokens_retrieve, or iam_auth_tokens_destroy. The agent must guess the intended context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_iam_auth_tokens_destroyApi iam auth tokens destroyDDestructiveIdempotent
api_iam_auth_tokens_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered by structured data. The description adds nothing beyond that - no note that deleting a token invalidates the session it authorizes, whether the operation is reversible, or what a missing id returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short to the point of having no content - a restated identifier rather than a sentence. This is under-specification, not efficiency, and there is nothing front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, open-world IAM operation with no output schema and an undocumented required id: an agent has no basis to confirm it is deleting the right thing. The description is completely inadequate for the complexity of the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter ('id') with 0% schema description coverage, and the description offers no hint about what the id identifies (token id vs. user id) or its format. With low coverage the description is expected to compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool's snake_case name restated ('api_iam_auth_tokens_destroy'), which is a tautology rather than a statement of purpose. An agent can infer that an auth token is being deleted, but nothing distinguishes it from sibling iam tools such as iam_auth_tokens_create or iam_revoke_sessions_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of alternatives (e.g. revoke_sessions or logout), no preconditions such as needing the token id or admin rights. The agent must infer everything 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.
ciso_assistant_api_iam_auth_tokens_retrieveApi iam auth tokens retrieveARead-onlyIdempotent
Get all personal access tokens for the user.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered. The description adds that results are user-scoped, but says nothing about what a token record contains, whether secrets are masked, or emptiness of the result set — relevant for a credential-listing endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the verb and scope front-loaded and zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-arg read with annotations covering safety, the definition is nearly sufficient. But with no output schema, the description could reasonably have noted the shape of a returned token (or that values are redacted), which mutes its usefulness for a credential-sensitive listing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4 and there is nothing in the schema that the description needs to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and resource ('personal access tokens') and scopes it to 'the user'. An agent can distinguish it from sibling iam_auth_tokens_create/destroy by the retrieval semantics, though it never names those alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'for the user' implies it returns only the authenticated caller's tokens and needs no identifier, which is useful scoping. However there is no explicit when-to-use statement, no mention of prerequisites (must be logged in), and no routing guidance versus the create/destroy siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_iam_change_password_createApi iam change password createC
An endpoint for changing password.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that this is a non-read-only, non-idempotent, non-destructive endpoint, but the description adds no behavioral context such as whether the current password is required, which sessions are affected, or what the response contains. For a security-sensitive account mutation, this leaves significant gaps in what the agent can anticipate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler or repetition. Its brevity is not the problem; the issue is under-specification, which is captured in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the sensitive IAM context, an opaque body parameter, no output schema, and only minimal annotations, an agent needs much more information to invoke this safely and correctly. The description provides essentially none of the required context about authentication, payload shape, or effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, "body", with 0% schema description coverage and no details in the description about its structure or required fields. The agent cannot determine whether the body should contain old/new passwords, user identifiers, or any other payload, so the description fails to compensate for the undocumented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name/title almost verbatim: "An endpoint for changing password." It does not distinguish this tool from nearby IAM siblings such as set_password, password_reset, or password_reset_confirm, so an agent cannot tell from the description which password operation applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives like the password reset or set-password endpoints. The agent is left to infer usage entirely from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_iam_current_user_retrieveApi iam current user retrieveCRead-onlyIdempotent
api_iam_current_user_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is covered by structured data. The description adds no behavioral context of its own — nothing about auth requirements, what fields come back, or whether it depends on the session token. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single snake_case identifier is not a description — it is under-specification rather than conciseness. It is neither front-loaded nor structured; there is no sentence to earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place to say what a 'current user' object contains and that it reflects the caller's own session identity. That context is entirely absent, leaving the agent to guess the return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. There is nothing for the description to clarify about inputs, and the empty schema with additionalProperties=false is self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim: 'api_iam_current_user_retrieve'. It does not restate in plain language what the tool returns (the authenticated user's profile), only echoing the identifier an agent can already read from the name. It does convey the resource implicitly (IAM current user) but adds nothing 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus siblings such as ciso_assistant_api_iam_auth_tokens_retrieve, ciso_assistant_api_users_retrieve, or ciso_assistant_api_user_preferences_retrieve. No prerequisites (must be authenticated), no exclusions, no alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_iam_login_createApi iam login createD
api_iam_login_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false and openWorldHint=true, but the description adds nothing about what the call does, what credentials the body must contain, whether it establishes a session, or what side effects occur. For a non-idempotent, open-world login operation this is a critical omission.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is not verbose, but that is because it contains essentially no content at all — a bare identifier is under-specification rather than conciseness. There is no front-loaded purpose statement or structure to speak of.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a non-idempotent, open-world login endpoint with an undocumented free-form body and no output schema, the description should explain the credential payload and resulting session behavior. It says nothing, leaving the definition unusable for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single 'body' parameter is an unconstrained anyOf object with a null default. The description supplies zero information about required fields (e.g. username/password or token payload), so the agent has no way to construct a valid call from either source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal string "api_iam_login_create", which merely restates the tool name and title. It conveys no verb-plus-resource meaning beyond the identifier itself, and gives no hint that this is an authentication/login endpoint distinct from the many iam siblings such as iam_session_token_create or iam_auth_tokens_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives among the crowded iam_* family, and no prerequisite or sequencing information. An agent cannot infer from the text alone whether this authenticates a user, issues a session, or is a step in a flow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_iam_logoutall_createApi iam logoutall createA
Log the user out of all sessions
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true. The description adds useful scope information ('all sessions'), clarifying that every active session is affected, but does not explain authentication requirements, whether the current session is included, or whether the action is reversible. With annotations covering the safety profile, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no unnecessary words, front-loaded with the action and scope. Nothing is wasted or buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter authentication action, the description plus annotations provide enough information to invoke it correctly without an output schema. The only significant gap is the absence of routing guidance versus iam_logout, which prevents a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no parameter semantics to document. The baseline for zero-parameter tools is 4, and the description introduces no confusing parameter implications.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a clear verb ('Log ... out') and resource scope ('all sessions'), making the tool's effect identifiable. It does not explicitly contrast with the sibling iam_logout tool, but the 'all sessions' scope is specific enough to distinguish it from a single-session logout.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the sibling iam_logout or iam_revoke_sessions tools that an agent should consider instead. The description states only what the tool does, 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.
ciso_assistant_api_iam_logout_createApi iam logout createD
api_iam_logout_create
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so safety basics are covered. The description adds nothing beyond that: it does not say whether the current token is invalidated, whether authentication is required, or what happens on repeat calls (relevant given idempotentHint=false).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness — a single echoed identifier with no front-loaded statement of effect or scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an IAM session-mutation endpoint with no output schema and no annotations explaining effects, the description supplies none of the context an agent needs: session scope, auth requirements, or side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The schema is closed (additionalProperties=false) and no parameter meaning is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name with underscores replaced by spaces: "api_iam_logout_create". It restates the identifier rather than stating what the tool does, and gives no way to distinguish it from the sibling ciso_assistant_api_iam_logoutall_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the obvious alternative (logoutall) or of login/session-token siblings. An agent must guess whether this ends only the current session or something broader.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_iam_password_reset_confirm_createApi iam password reset confirm createC
API Endpoint for reset password confirm
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, but the description adds nothing: not which credentials/token are consumed, whether it is a public unauthenticated endpoint, nor whether the reveal semantics are one-time use. For an auth-flow mutation, the burden is unmet.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no waste, but it is under-specified rather than concise — the front-loaded content is only the tautological label.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A security-sensitive auth mutation with no output schema, no parameters and only hint-level annotations needs the description to explain the flow, preconditions and effect. Almost nothing is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters yields a baseline of 4, but the empty schema with additionalProperties=false is genuinely surprising for a reset-confirmation operation (normally uid/token/new password). The description does not explain how the confirmation data is supplied, so a small deduction from baseline is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name/endpoint: 'API Endpoint for reset password confirm'. It confirms the resource (password reset) but adds no specific verb or scope beyond what the identifier already conveys, and does not distinguish it from siblings like iam_password_reset_create or iam_set_password_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when this endpoint is invoked versus iam_password_reset_create (requesting a reset) or iam_set_password_create (setting one). An agent must infer the two-step reset flow from naming alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_iam_password_reset_createApi iam password reset createC
api_iam_password_reset_create
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-readOnly, openWorld, non-idempotent, non-destructive, so the safety profile is partially covered. The description adds nothing beyond that — no mention that a reset likely triggers an outbound email to the target user, whether the call requires authentication, or what state it mutates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is empty of content — a bare identifier is under-specification, not conciseness, and gives the agent nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a security-sensitive, open-world, non-idempotent auth operation with no output schema, the description supplies no explanation of effect, side effects, or required context. An agent cannot safely decide whether to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is closed (additionalProperties: false), so there is nothing for the description to disambiguate. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool's identifier restated ('api_iam_password_reset_create'), with no verb/resource articulation an agent could not already derive from the name. It does not distinguish this from siblings like iam_password_reset_confirm_create or iam_change_password_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to call this versus the many adjacent IAM tools (password_reset_confirm, change_password, set_password), nor any prerequisite such as needing an existing user or unauthenticated access.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_iam_revoke_sessions_createApi iam revoke sessions createA
An endpoint for revoking all other user sessions (except the current one).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the description only needs to add context. It does add the important 'except the current one' carve-out, but leaves a real ambiguity: whether 'all other user sessions' means the caller's own other sessions or every user's sessions, and what happens to targets.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the verb and scope. The lead-in 'An endpoint for' is filler that could be dropped, but nothing else is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and annotations covering the safety profile, the description supplies most of what an agent needs. The only missing piece is disambiguating whose sessions are revoked and how it differs from the sibling logoutall endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the description does not invent any, so there is nothing to mis-document. Baseline for a no-param tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (revoking) and resource (all other user sessions) with a clear scope qualifier, 'except the current one.' It does not, however, distinguish itself from the closely related sibling ciso_assistant_api_iam_logoutall_create, which an agent could easily confuse with this endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the situation (revoke everything except the current session) but never states when to prefer this over the sibling logout/logoutall endpoints, nor any preconditions. Usage is inferable but not guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_iam_session_token_createApi iam session token createB
API Endpoint for getting the session token from an access token
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose that this is not read-only, is open-world, and is not idempotent. The description adds useful context that the token is derived from an access token, but it does not explain whether the access token is supplied via Authorization header, what side effects occur, or what the response contains. With annotations covering the safety profile, this is adequate but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single efficient sentence with the key operation front-loaded. The phrase 'API Endpoint for' is boilerplate, but there is no unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter token-exchange endpoint with annotations but no output schema, the description should clarify how the access token is presented and what the caller receives. It names the source token but leaves authentication mechanics and return behavior implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4. The description adds meaningful input context by stating that an access token is the source material for the new session token, even though that token is not represented in the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: getting a session token from an access token. It is not tautological with the title, but it does not distinguish this tool from related IAM siblings like ciso_assistant_api_iam_auth_tokens_create or ciso_assistant_api_iam_login_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus sibling IAM token or login endpoints. The description gives no preconditions, alternatives, or exclusion criteria for the 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.
ciso_assistant_api_iam_set_password_createApi iam set password createB
An endpoint for setting a password as an administrator.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare that this is a non-read-only, open-world, non-idempotent operation. The description adds useful privilege context by saying it is an administrative action, but it does not disclose the target user, password policy, session invalidation behavior, or response semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no filler or repetition. The terseness is appropriate structurally, though it leaves important detail to other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an administrative password-setting mutation with an opaque body parameter and no output schema, the description is too thin. It identifies the action and privilege level but omits the target user, body contract, password requirements, and operational side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one opaque 'body' parameter with 0% description coverage and no defined properties. The description implies that a password is involved but does not explain what the body must contain, such as the target user identifier or password fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource ('setting a password') and adds the actor context ('as an administrator'), which distinguishes it from self-service password changes. It does not explicitly name or contrast with siblings such as change_password or password_reset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'as an administrator' implies this is the admin-driven path rather than self-service change or reset flows. However, it gives no explicit when-to-use/when-not-to-use guidance or direct alternatives, leaving the agent to infer the correct scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_incidents_batch_action_createApi incidents batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true. The description adds no behavioral context such as supported action types, atomicity, required permissions, or error behavior for a batch operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is concise and front-loaded, but it is under-specified rather than efficiently informative. It avoids verbosity but does not earn its place by conveying actionable detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a batch-action endpoint on incidents with an empty input schema and no output schema, the description should explain how target objects and action types are supplied. It leaves the agent without enough context to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4 under the rules. There are no parameters for the description to clarify, although the absence of any documented payload makes the tool hard to invoke in practice.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says "Perform a batch action on multiple objects," which essentially restates the generic batch-action part of the tool name. It never identifies the resource as incidents, so an agent cannot distinguish this from the dozens of sibling `*_batch_action_create` tools without reading the name/title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives no guidance on when to use this batch endpoint versus individual incident create/update/destroy tools or batch endpoints for other resources. The phrase "multiple objects" implies a bulk operation, but no conditions or alternatives are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_incidents_cascade_info_retrieveApi incidents cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, idempotent=true, openWorld=true, destructive=false, so the safety profile is carried by structured data. The description adds nothing beyond that—no explanation of what a cascade preview does, whether it changes state, or what it returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
"Cascade preview:" is a truncated fragment ending in a colon rather than a concise, front-loaded description. Brevity here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain what a cascade preview returns and what the id refers to. It provides neither, leaving an agent unable to call the tool confidently beyond guessing that "id" is an incident id.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter "id" has 0% schema description coverage, and the description does not say what the id identifies (incident, cascade node, model?) or its format. With schema providing no help, the description was required to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment that essentially restates the tool name/title rather than stating a verb+resource+outcome. It hints at a preview of incident cascade effects but never says what is being previewed or returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternatives named, and no distinction from sibling tools such as ciso_assistant_api_incidents_retrieve or other cascade_info tools. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_incidents_createApi incidents createD
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description frames the tool as an export mixin, implying a read/retrieval operation, while annotations declare readOnlyHint=false, idempotentHint=false, and the name indicates a create. It discloses nothing about what a create call produces, required fields, or side effects. This is an annotation contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no padding, but brevity here is under-specification rather than concision. The one sentence it spends is spent on the wrong subject, so nothing is front-loaded usefully.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world create operation with an opaque body parameter, no output schema, and no annotation-level detail, the description is completely inadequate. Nothing an agent needs to invoke this tool correctly is present, and the stated purpose is wrong.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the sole parameter is an untyped free-form `body` object with additionalProperties=true. The description offers no information about what belongs in that body, so an agent has no basis for constructing a valid request payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says "Generic export mixin for CSV/XLSX exports," which describes an export/reporting concern. The tool is named and titled as an incidents create operation. The description neither states a create verb nor a resource an agent could act on, and it is actively misleading rather than merely vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as ciso_assistant_api_incidents_list or ciso_assistant_api_incidents_export_csv_retrieve. The one sentence present points the agent toward export behavior that other sibling tools actually provide, so the guidance is worse than absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_incidents_destroyApi incidents destroyDDestructiveIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, but the description frames the operation as CSV/XLSX exporting, implying a harmless read. No mention of irreversibility, cascade effects on related objects, or required permissions — a destructive tool with a description that actively obscures that fact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The sentence is short, but brevity here is under-specification rather than conciseness: the one line present is wrong and conveys no actionable information about the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world endpoint with no output schema, the description should at minimum state that an incident is permanently deleted by id and what that affects. Instead it says nothing relevant, leaving the agent wholly dependent on the name and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single required parameter (id) is self-describing only by name and type. The description adds nothing — it does not say the id identifies an incident to be deleted, and its export framing is irrelevant to the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description ("Generic export mixin for CSV/XLSX exports") describes an export helper, not a deletion of an incident. It is misleading relative to the tool name and gives an agent no way to understand that this permanently removes an incident record.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of alternatives such as update, partial_update or batch_action. Worse, the export framing points the agent toward the wrong intent entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_incidents_detection_breakdown_retrieveApi incidents detection breakdown retrieveDRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully supplied structurally and the description adds nothing to it. Worse, the text implies an export artifact rather than a breakdown payload, which does not match a parameterless read endpoint. No contradiction with the annotation flags themselves, but zero added behavioral value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence, so length is not the problem, but a single sentence that describes the wrong thing earns no place at all. Conciseness without accuracy is not a virtue here.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the burden of explaining what a 'detection breakdown' returns (grouping keys, counts, time windows). It explains none of that, and the boilerplate about export mixins covers a capability this endpoint apparently does not have.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero properties and additionalProperties=false, so the baseline would normally be high. However, the description introduces the notion of a CSV/XLSX choice that does not exist as any parameter here, which would lead an agent to hunt for a format argument that is absent. Misleading content in place of no content.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never says what this specific tool does. 'Generic export mixin for CSV/XLSX exports' describes an internal base class, not a verb+resource, and it actively misdirects: the tool name promises an incidents detection breakdown retrieval, while the text implies a CSV/XLSX export that has its own siblings (incidents_export_csv_retrieve, incidents_export_xlsx_retrieve). An agent reading this cannot tell what will be returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance. The only cue it offers ('CSV/XLSX exports') is wrong, since a 0-parameter breakdown retrieve is not the export path, and the real export tools sit beside this one 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.
ciso_assistant_api_incidents_detection_retrieveApi incidents detection retrieveDRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 nothing usable and in fact misdirects, implying a CSV/XLSX file payload where a JSON retrieve response is expected. It does not strictly contradict the annotations (a read-only export is consistent), so no contradiction flag, but it substitutes false behavioral signal for real disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity alone is not conciseness — the single sentence is wasted text that does not front-load purpose, scope, or return shape. Under-specification masquerading as brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A zero-parameter retrieve endpoint with no output schema places the entire explanatory burden on the description: what record domain is queried, what a detection retrieve returns (e.g. enum/choice values), and how it differs from the sibling export and breakdown endpoints. None of that is present; the description is entirely off-topic.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so no semantic burden falls on the description and the baseline applies. However, the only sentence present is irrelevant boilerplate about export mixins, adding no meaning at all rather than modestly supporting the call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says "Generic export mixin for CSV/XLSX exports," which describes neither an incident detection retrieve operation nor anything the name/title promises. An agent reading it would expect a file export, not a read of detection-related incident data. This is boilerplate leakage from an internal Python mixin, actively misleading rather than merely vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool, when not to, or how it relates to the many sibling incident endpoints (incidents_list, incidents_detection_breakdown_retrieve, incidents_export_csv_retrieve, incidents_export_xlsx_retrieve). An agent has no basis to choose it over the export siblings it appears to describe.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_incidents_export_csv_retrieveApi incidents export csv retrieveCRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already supply readOnlyHint, idempotentHint, openWorldHint and destructiveHint, so the safety profile is covered. The description adds nothing beyond that and does not explain what the caller receives (file bytes vs. a URL), whether filters apply, or any permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, so it is not bloated, but it is front-loaded with implementation jargon ("mixin") instead of the user-facing action. The size is fine; the content choice is not.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is the only place an agent could learn the response shape (CSV content, headers, pagination or scope of exported rows). It provides none of that for a download-style endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. No parameter semantics are needed and none are missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Generic export mixin for CSV/XLSX exports" describes an internal code construct rather than the tool's purpose. It never states that it exports incidents, nor that this endpoint returns CSV specifically (XLSX has a separate sibling). The resource is only identifiable from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus ciso_assistant_api_incidents_export_xlsx_retrieve, incidents_list, or the other export endpoints. The mention of both CSV and XLSX actively blurs the distinction between the two sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_incidents_export_xlsx_retrieveApi incidents export xlsx retrieveCRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true. The description adds no useful behavioral context such as what data is included, whether the export is filtered, how it is delivered, or any permissions implications. It also refers to CSV/XLSX generically even though this endpoint is specifically XLSX.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, but it is under-specified and not front-loaded with the actual tool-specific purpose. Brevity does not compensate for the missing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter export endpoint, the description should at minimum identify the resource and output format ('Export incidents to XLSX'), and ideally mention that it returns a file download. Instead it only describes an internal mixin, leaving key context to the name and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is complete and the description does not need to explain parameter usage. Baseline for zero params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Generic export mixin for CSV/XLSX exports,' which is an implementation-oriented restatement of the export concept rather than a specific statement that this tool exports incidents to XLSX. It does not distinguish this tool from the sibling incidents_export_csv_retrieve or the many other export_xlsx tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives no guidance on when to use this XLSX export versus the sibling CSV export or other export endpoints. There are no conditions, prerequisites, or alternative-tool routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_incidents_listApi incidents listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| assets | No | ||
| folder | No | ||
| offset | No | ||
| owners | No | ||
| search | No | ||
| status | No | ||
| entities | No | ||
| ordering | No | ||
| severity | No | ||
| detection | No | ||
| max_pages | No | ||
| qualifications | No | ||
| risk_scenarios | No | ||
| task_templates | No | ||
| applied_controls | No | ||
| filtering_labels | No |
TDQS
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 phrase 'inject optimized data into the serializer context' hints at enriched or prefetched results but does not disclose pagination, filtering behavior, response shape, or any authorization details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence, but it is an internal implementation note rather than user-facing information. Being short is not sufficient when the content is irrelevant to an agent trying to call the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 18-parameter list endpoint with no output schema and no required fields, the description provides no actionable context. It is completely inadequate for an agent to determine what filters are available or how to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 18 parameters (id, limit, assets, folder, offset, owners, search, status, entities, ordering, severity, detection, max_pages, qualifications, risk_scenarios, task_templates, applied_controls, filtering_labels) with 0% schema description coverage. The description mentions none of them, leaving every parameter undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does for an agent. It does not say that it lists incidents, what incidents are, or how it differs from siblings like incidents_retrieve or incidents_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this list endpoint versus alternatives such as incidents_retrieve, incidents_object_retrieve, or incidents_summary_stats_retrieve. The description offers no context, exclusions, or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_incidents_md_retrieveApi incidents md retrieveDRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety needs no restating. The description contributes nothing about what the retrieved markdown contains, its format, or how it differs from the CSV/XLSX export siblings, and its 'export mixin' framing actively mischaracterizes the output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but every word is off-target: the single sentence conveys internal code structure rather than caller-facing information. Brevity without relevance is under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-param retrieve with no output schema, the description should state what entity is fetched by id and what markdown is returned. None of that is present, and the 'export mixin' framing leaves the agent with a materially wrong mental model of the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, id, with 0% schema description coverage, so the description must carry that burden. It never mentions the identifier at all, leaving the agent to guess whether id refers to an incident, an export job, or a file.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description describes an internal implementation artifact ('Generic export mixin for CSV/XLSX exports') rather than the operation. The tool name says incidents markdown retrieve, so the text both misstates the resource and misstates the action, giving an agent no way to distinguish it from the export_csv/export_xlsx or incidents_retrieve siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given, and what is given points the agent toward CSV/XLSX exports instead of a markdown retrieval. An agent reading this would reasonably pick the wrong sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_incidents_monthly_metrics_retrieveApi incidents monthly metrics retrieveDRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety needs no restating. The description adds nothing truthful about behavior and instead implies an export/format capability that the tool name does not support, which would mislead an agent about the response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence, but brevity does not help when the sentence is a leaked internal docstring unrelated to the operation. There is no front-loaded statement of what the tool actually returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a metrics-retrieval endpoint with no output schema, the description should say what metrics are returned (e.g., monthly incident counts, qualification or severity breakdowns) and over what period. It says none of that, leaving an agent unable to judge the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters with 100% schema coverage, so there is nothing for the description to document; the baseline for a 0-param tool applies. The description nevertheless mentions export format choices that do not exist as parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Generic export mixin for CSV/XLSX exports' describes an internal mixin class, not the tool's actual operation (retrieving monthly incident metrics). It actively misdirects an agent toward believing this tool produces CSV/XLSX exports, which is not what the name or route implies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this versus siblings such as incidents_summary_stats_retrieve, incidents_severity_breakdown_retrieve, or incidents_export_csv_retrieve. No context, 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.
ciso_assistant_api_incidents_object_retrieveApi incidents object retrieveDRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are contradicted directly, but with readOnly/idempotent hints already given, the description's job is to add context and instead supplies an unrelated statement about CSV/XLSX export mixins. An agent learns nothing about whether the lookup is by primary key, what happens on a missing id, or what object shape is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity only counts when the content is correct; here the one sentence is front-loaded with irrelevant implementation detail ('Generic export mixin') and conveys zero actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A single-object retrieve with one required, undocumented parameter and no output schema needs the description to explain identity semantics and result shape. Nothing in the description addresses that, so the definition is unusable as written.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single required parameter `id` is completely unmentioned in the description. There is no note on whether it is an integer PK, a UUID, or a ref string, which is exactly the gap the description should fill.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Generic export mixin for CSV/XLSX exports', which describes an internal export helper, not retrieving a single incident object by id. It neither states the verb 'retrieve' nor the resource 'incident', so an agent cannot tell what the tool actually returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as api_incidents_list, api_incidents_retrieve, or api_incidents_object_retrieve. The only sentence present points toward export behavior, which is a different set of tools (api_incidents_export_csv_retrieve / export_xlsx_retrieve) and would actively misroute the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_incidents_partial_updateApi incidents partial updateD
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and openWorldHint=true, i.e. a mutating call, while the description frames the endpoint as a CSV/XLSX export mixin, which is a read-style concern. Beyond that mismatch, nothing is said about what fields get modified, whether omitted fields are preserved, or what permissions are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no bloat, but under-specification is not conciseness. The one line present is irrelevant to the tool's function and occupies the only opportunity to explain it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque free-form `body` object, no output schema, and zero parameter documentation, the description supplies nothing an agent needs. There is no way to infer the payload shape, the target resource, or the effect of the call from this text.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden for the two parameters. It says nothing about `id` (the incident identifier) or `body` (a free-form object holding the patch payload), leaving the agent with no idea what to send.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says "Generic export mixin for CSV/XLSX exports," which describes an export/read concern rather than a partial update of an incident. It never mentions incidents, partial update, or PATCH semantics, so an agent reading it would have no idea what the tool actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives such as ciso_assistant_api_incidents_update or ciso_assistant_api_incidents_export_csv_retrieve, and no prerequisites. The single sentence points at export behavior, which would actively steer an agent away from the correct use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_incidents_pdf_retrieveApi incidents pdf retrieveDRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 nothing about how the export behaves (page layout, locale, whether the PDF is generated on the fly or cached) and instead makes a format claim that conflicts with the tool's own name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so structurally fine. However, brevity here comes at the cost of being wrong, so it earns no credit beyond being compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter PDF export with no output schema, the description should at minimum confirm it returns a PDF for the given incident. Instead the only content is a generic mixin note, leaving the return type, the meaning of 'id', and the relationship to the CSV/XLSX export siblings all unresolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter ('id') with 0% schema description coverage, and the description says nothing about it. The agent must infer that 'id' is the incident identifier being exported, which is plausible but nowhere confirmed; this is a case where the description was needed to compensate for the schema and did not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Generic export mixin for CSV/XLSX exports', which describes an internal implementation base class rather than what this tool does. The tool name and title indicate a PDF retrieval for incidents, so the description actively points the agent at the wrong format and never names the resource (incidents) at all.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool versus the many siblings such as ciso_assistant_api_incidents_export_csv_retrieve, incidents_export_xlsx_retrieve, or incidents_md_retrieve. The only stated format (CSV/XLSX) is the opposite of what a PDF endpoint would be used for, so the guidance is misleading rather than merely absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_incidents_qualifications_breakdown_retrieveApi incidents qualifications breakdown retrieveDRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description contributes nothing beyond that and instead suggests a CSV/XLSX export payload, which conflicts with a 'breakdown_retrieve' endpoint. No annotation contradiction is claimed since the format claim is not covered by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, but brevity here comes from under-specification rather than economy. The sentence is a non sequitur relative to the tool name, so nothing useful is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a domain-specific analytics endpoint with no output schema, the description should at minimum say what the qualifications breakdown contains and at what granularity. It says nothing about the returned data, leaving an agent unable to judge relevance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; the description neither harms nor helps here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description describes an internal implementation artifact ("Generic export mixin") rather than the endpoint's function. It never mentions incidents, qualifications, or a breakdown, and the sibling list already contains dedicated export_csv/export_xlsx endpoints, so the text actively misdirects an agent about what this tool returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this versus the many sibling breakdown/retrieve endpoints (e.g. incidents_severity_breakdown_retrieve, incidents_detection_breakdown_retrieve). The one sentence supplies no selection criteria and implies an export workflow that this tool does not serve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_incidents_retrieveApi incidents retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds a meaningful non-obvious behavior: unauthorized related fields are masked. However, it does not clarify what masking means in practice or what happens if the caller lacks access, so the added context is useful but partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is efficient and front-loaded, and the masking detail is valuable. However, it is arguably too terse for a retrieve tool, omitting the resource identity that would make the sentence fully useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve-by-id endpoint with no output schema, the description should at least connect the id to an incident and clarify the return semantics. It instead refers only to 'a single object' and a masking rule, leaving key context for correct invocation incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description says nothing about the sole parameter 'id'. While a required string 'id' is relatively self-evident, the description does not confirm that it identifies the incident or explain any format expectations, so it 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns 'a single object' but never names the resource as an incident. The tool name and title imply incidents, but the description itself remains vague about what object is retrieved, so an agent must rely on external naming to distinguish it from siblings like incidents_list or incidents_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this retrieve endpoint versus incidents_list, incidents_object_retrieve, or incidents_cascade_info_retrieve. The description only states what happens on invocation, not the selection context or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_incidents_severity_breakdown_retrieveApi incidents severity breakdown retrieveDRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds nothing behavioral and is actively misleading by framing the tool as an export mechanism when it is a severity breakdown retrieval. It does not contradict the read-only annotation, but it mischaracterizes the operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that is under-specification, not conciseness — the single sentence describes the wrong thing and would be better replaced entirely with a statement of what the endpoint returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter retrieval endpoint with no output schema, the description must at minimum say what data is returned, especially since there is no output schema to reveal the shape. It says nothing about the severity breakdown, so an agent cannot know what it will get back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. There are no parameters for the description to explain, and the schema is empty.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Generic export mixin for CSV/XLSX exports', which describes an internal code construct, not the tool named 'incidents severity breakdown retrieve'. It never states that the tool returns an incidents severity breakdown, and an agent reading only this would not know what resource it retrieves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling incident retrievers (severity_retrieve, status_retrieve, qualifications_breakdown_retrieve, export_csv_retrieve, etc.). The sentence that is present describes an unrelated implementation detail.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_incidents_severity_retrieveApi incidents severity retrieveDRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims export-file behavior, but nothing in it tells the agent this is a read-only retrieval of an enum/choice list. Rather than adding context beyond the readOnlyHint/openWorldHint/idempotentHint annotations, it suggests a different return shape (a CSV/XLSX file) than what the retrieve endpoint produces.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so structurally it is tight. Brevity does not compensate for the fact that the one sentence is the wrong content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameters, and a name that reveals little beyond 'retrieve', the description is the only place to explain what the endpoint returns. It gives the agent nothing usable and instead mischaracterizes the resource entirely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters, so the baseline would normally be 4, but the description implies a format choice (CSV vs XLSX) that does not exist among the parameters. That manufactures a nonexistent parameter and could lead the agent to look for or attempt to pass an export-format argument.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Generic export mixin for CSV/XLSX exports" describes a code-level base class, not this endpoint. The name and title indicate retrieving incident severity options, so the description is actively misleading about what the tool does and cannot distinguish it from any of the many incident siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this versus ciso_assistant_api_incidents_severity_breakdown_retrieve, ciso_assistant_api_incidents_export_csv_retrieve, or ciso_assistant_api_incidents_export_xlsx_retrieve. The text points toward exports, which would route the agent to the wrong siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_incidents_status_retrieveApi incidents status retrieveDRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing about behavior and instead frames the endpoint as an export mixin, which misleads about what the call actually returns; only the annotations keep this from being a contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but the content is boilerplate lifted from a shared export mixin rather than anything about this endpoint. Brevity without relevant content does not earn credit.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must explain what the call returns (presumably the enumeration of incident statuses). Instead it describes an unrelated export concern, leaving the agent with no accurate model of the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema (empty object, additionalProperties false) is fully self-describing, so there is nothing for the description to clarify. The 'CSV/XLSX' phrasing hints at an output format that this endpoint has no parameters to select, but with no params to document the baseline of 4 stands.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Generic export mixin for CSV/XLSX exports', which describes an export capability, not the incidents status retrieval implied by the tool name and title. An agent reading this would expect a CSV/XLSX export endpoint and instead get a status/enumeration lookup. This is misleading rather than merely vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the many sibling status/export endpoints (e.g. ciso_assistant_api_incidents_export_csv_retrieve, _export_xlsx_retrieve, _severity_retrieve), nor any prerequisites or exclusions. The one sentence present points toward an entirely different tool's use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_incidents_summary_stats_retrieveApi incidents summary stats retrieveDRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 covered and the bar is low, yet the description adds nothing about behavior — no mention of what aggregates are returned, what time window is used, or what auth/scope is required. Worse, calling it an 'export mixin' implies file output, which is behaviorally different from a JSON stats retrieval.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short (one sentence), which is the only positive, but the sentence is entirely wasted and actively misleading rather than front-loading useful information. Brevity without substance is under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description carries the full burden of explaining what this endpoint returns, and it does not — it describes an unrelated export mixin. An agent has no way to know what data comes back or when this tool is the right call among the many incidents_* siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies; there is no parameter semantics to explain and the empty schema is unambiguous. The description neither helps nor hurts here, though it does nothing to clarify what implicit filters or defaults the endpoint applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Generic export mixin for CSV/XLSX exports' does not describe a summary statistics endpoint at all; it is a leaked implementation artifact describing a code mixin, not the tool's action or resource. An agent reading it would conclude this tool produces CSV/XLSX files rather than returning incident summary stats, which is misleading given the name and the sibling set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of alternatives such as incidents_severity_breakdown_retrieve, incidents_status_retrieve, or incidents_monthly_metrics_retrieve, and no hint about what distinguishes this summary endpoint from those siblings. The single sentence gives the agent nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_incidents_updateApi incidents updateDIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a mutating, idempotent, non-destructive, open-world write (readOnlyHint=false), yet the description frames the tool as an export mixin, which implies a read. It adds zero context about what the update changes, whether a partial body is accepted, or permission requirements, and its framing conflicts with the declared write semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no bloat, but brevity does not help when the sentence contains no relevant information. This is under-specification rather than genuine conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with two parameters, no output schema, and zero schema descriptions, the description should explain the target resource, the updatable fields, and the write semantics. It provides none of that and instead describes an unrelated export mixin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description is the only place semantics could be supplied for the required 'id' and the free-form 'body' object. It says nothing about either, leaving the agent with an opaque anyOf body it cannot populate correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description reads "Generic export mixin for CSV/XLSX exports", which describes an export/CSV-XLSX concern rather than updating an incident via its id. It is actively misleading about the tool's operation and gives no usable verb+resource pairing, despite the name and title pointing at an incidents update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus the many siblings such as ciso_assistant_api_incidents_partial_update, incidents_update, or incidents_batch_action_create. What text exists points at a completely different activity (exporting), so it steers the agent wrong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_integrations_configs_batch_action_createApi integrations configs batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose that this is a non-read-only, open-world, non-idempotent, non-destructive mutation. The description adds nothing beyond that: it does not explain what actions are applied, what objects are affected, permission requirements, or side effects of a batch operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no filler. It is appropriately sized, though it is under-specified rather than overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a batch mutation on integration configs with no schema properties and no output schema, the description is far too thin. An agent would need to know what objects are targeted, what batch actions exist, and what request body is expected, none of which are provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero input parameters and the schema exposes no properties, so there is nothing for the description to document at the parameter level. Per the baseline for parameterless tools, this is adequate, though the description's phrase 'multiple objects' does not clarify payload expectations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it performs a batch action on multiple objects, which largely restates the 'batch action' portion of the tool name. It never names the resource (integration configs) or what kind of batch action is being created, so it cannot be distinguished from the many sibling batch_action_create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what action types are supported, or how it relates to the sibling integrations_configs_create, integrations_configs_update, or other batch tools. The description gives no conditions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_integrations_configs_cascade_info_retrieveApi integrations configs cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered. The description adds essentially nothing beyond the annotation set – it doesn't say what the cascade preview contains, what is affected by the cascade, or how large/heavy the response might be.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words is not conciseness but under-specification; there is no front-loaded purpose statement and the trailing colon dangles with no content after it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, an undocumented id parameter, and no explanation of what a 'cascade preview' returns or what it operates on, the definition leaves an agent unable to call the tool confidently beyond guessing from the name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
A single required parameter `id` has 0% schema description coverage, and the description does not say whether it is the integration config id, the object being deleted/updated, or a model id – the one thing the description needed to clarify is left entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment "Cascade preview:" – it gestures at previewing cascade effects but never states the verb, the resource (integrations configs), or the scope. An agent must reconstruct purpose from 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is named, despite many similar *_cascade_info_retrieve siblings (journeys, SSO, actors, assets, etc.) that an agent could easily confuse with this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_integrations_configs_createApi integrations configs createC
API endpoint for creating, viewing, updating, and deleting Integration Configurations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, and the description adds nothing beyond them (no auth/permission needs, no side effects, no validation of the opaque body). Worse, it claims the endpoint also handles "deleting", which conflicts with destructiveHint=false and with the create-only name, so the text is misleading rather than merely thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no wasted clauses, so it is structurally clean and front-loaded. However, that brevity comes from boilerplate rather than curation - the sentence is short because it says almost nothing specific.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutating, open-world create operation with an entirely opaque request body and no output schema, which places the full descriptive burden on the text. The description supplies none of the required context: what an Integration Configuration is in this product, what must be included to create one successfully, or what is returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single `body` parameter is a bare anyOf object with additionalProperties=true and no fields documented. The description does not name a single field an Integration Configuration expects (provider, name, credentials, sync settings), so it fully fails to compensate for the schema gap and the agent cannot construct a valid body from this definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence lumps four distinct operations ("creating, viewing, updating, and deleting") onto a single create endpoint, so it does not tell the agent what this tool specifically does. It also fails to distinguish itself from the many siblings that actually implement those other verbs (ciso_assistant_api_integrations_configs_retrieve, _list, _update, _destroy). It is essentially a restatement of the resource family rather than a description of this tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the ~15 sibling endpoints in the integrations_configs family, nor any mention of prerequisites such as which integration provider or configuration fields must be supplied. The only usable signal is the verb embedded in the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_integrations_configs_destroyApi integrations configs destroyCDestructiveIdempotent
API endpoint for creating, viewing, updating, and deleting Integration Configurations.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 structurally. The description adds nothing beyond that: it does not say whether the delete is permanent, whether linked sync mappings or remote objects are cascaded/removed, or what happens on a nonexistent id. It does not contradict annotations, but it earns little credit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, but it is boilerplate rather than front-loaded specificity. Conciseness is achieved through omission of the information that matters, not through tight writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive single-record endpoint with no output schema and an undocumented parameter, the description needs to carry the weight and does not. In a namespace with hundreds of near-identical CRUD siblings, an agent has almost nothing here to confirm it is calling the right delete endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter `id` has 0% schema description coverage, so the description was the only place to explain that it is the identifier of the Integration Configuration to remove. It says nothing about the parameter, leaving the agent to infer format and whether it accepts a UUID or numeric id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ("Integration Configurations") but bundles four distinct operations (create, view, update, delete) into one sentence, so it never states that this particular tool deletes a single config. Against siblings like integrations_configs_create, _update, _retrieve, and _destroy it gives no way to tell which verb this endpoint performs without reading the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites or permissions, and no pointer to alternatives such as partial_update or batch_action. The only hint that deletion is involved is the word "deleting" buried in a list of four operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_integrations_configs_listApi integrations configs listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| provider | No | ||
| max_pages | No | ||
| provider__name | No | ||
| provider__provider_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, so the safety profile is covered. The description adds nothing behavioral — no word on pagination, filtering behavior, or what 'optimized data' means for the caller. It is not contradictory, merely empty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity comes from saying nothing useful: the one sentence is an engineering rationale rather than front-loaded user-facing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nine-parameter, zero-coverage, no-output-schema list tool, the description supplies no resource identity, no filtering guidance, and no return-shape hint. It is entirely inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Nine parameters exist at 0% schema description coverage (id, limit, offset, search, ordering, provider, max_pages, provider__name, provider__provider_type), and the description explains none of them. The bare 'limit/offset/search/provider__x' names are the only hints, so the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is an internal implementation note ('Override the list method to inject optimized data into the serializer context') rather than a description of what the tool returns. It never names the resource (API integration configurations) or distinguishes this list endpoint from siblings like ciso_assistant_api_integrations_configs_retrieve or _object_retrieve. An agent must infer purpose entirely from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no prerequisites or exclusions. Nothing tells the agent when to pick this list endpoint over the retrieve/object_retrieve siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_integrations_configs_object_retrieveApi integrations configs object retrieveDRead-onlyIdempotent
API endpoint for creating, viewing, updating, and deleting Integration Configurations.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description advertises create, update, and delete behavior on an endpoint annotated readOnlyHint=true, idempotentHint=true, destructiveHint=false. Nothing is said about permissions, return shape, or what a lookup by id yields, and the only behavioral claim it makes is contradicted by 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so it is concise, but the content is boilerplate that neither front-loads the actual operation nor earns its place over the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve endpoint with a required id and no output schema, the definition omits the return payload, the meaning of the id, and any error behavior. It also introduces write semantics that the annotations rule out, so an agent cannot safely call it from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, so the description was the only place to explain what identifier is expected. It says nothing about the id at all, leaving the schema's bare type: string as the sole guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description lists a generic CRUD verb set ('creating, viewing, updating, and deleting') applied to 'Integration Configurations' without stating that this endpoint retrieves a single configuration by id. Against siblings like integrations_configs_list, integrations_configs_retrieve, integrations_configs_object_retrieve, and integrations_configs_destroy, it gives no way to tell which operation this tool actually performs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool versus the list, retrieve, or update siblings, and no prerequisites or exclusions are stated. The verb list actually suggests alternates exist but never routes the agent to them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_integrations_configs_partial_updateApi integrations configs partial updateD
API endpoint for creating, viewing, updating, and deleting Integration Configurations.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false and idempotentHint=false, but the description claims the endpoint handles "deleting" Integration Configurations, implying a destructive capability the annotations explicitly deny. It also gives no real behavioral context such as that only the fields present in the body are modified, or what happens to omitted fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not bloated, but that sentence is boilerplate that does not earn its place: it describes capabilities this tool does not have rather than front-loading the actual operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with no output schema, 0% parameter documentation and an unconstrained body object, the description carries the full burden and delivers nothing — no auth/permission notes, no body format, no indication of partial-update semantics. It is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%: the required `id` path parameter and the free-form `body` object (anyOf object/null, additionalProperties true) are entirely undocumented. The description never mentions either parameter, so an agent has no idea what to send in the body for a partial update.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence only restates the title in expanded form ("API endpoint ... Integration Configurations") and never says this tool performs a partial update. Worse, it advertises creating, viewing and deleting, none of which this partial-update endpoint does, so an agent cannot tell it apart from integrations_configs_create, _retrieve or _destroy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the sibling ciso_assistant_api_integrations_configs_update (full PUT) or _partial_update alternatives. At best, a reader infers from the tool name alone that this is a PATCH-style partial modification, which is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_integrations_configs_remote_objects_retrieveApi integrations configs remote objects retrieveDRead-onlyIdempotent
API endpoint for creating, viewing, updating, and deleting Integration Configurations.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly claims create/update/delete behavior while annotations declare readOnlyHint=true and destructiveHint=false, a direct contradiction. For a read-only endpoint, describing mutations is actively misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not bloated, but its brevity comes at the cost of correctness and front-loading the wrong operation semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no parameter documentation, no annotations-based behavioral context, and a description that misrepresents the operation. An agent has almost nothing reliable to call this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'id' parameter has 0% schema description coverage, and the description says nothing about it. The description does not compensate for the undocumented parameter at all; the agent cannot infer what the id identifies or its format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description describes a full CRUD collection ('creating, viewing, updating, and deleting Integration Configurations') rather than the retrieve/read operation the tool name indicates. It is effectively boilerplate that does not identify what this specific endpoint returns or how it differs from siblings like integrations_configs_retrieve or integrations_configs_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus the many sibling retrieve tools (integrations_configs_retrieve, integrations_configs_object_retrieve, etc.). No exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_integrations_configs_retrieveApi integrations configs retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds one genuinely useful behavioral fact not in the annotations — that unauthorized related fields are masked in the response — but says nothing about permission requirements, not-found behavior, or what the masking depends on.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler and the behavioral caveat front-loaded. It is efficiently written; the problem is under-specification rather than verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameter documentation, the description should at least identify the resource being retrieved and the meaning of the id. It leaves the agent unable to distinguish this from sibling retrieve/object_retrieve tools or to know what the returned object represents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single 'id' parameter, and the description adds nothing about its type, format, or where the id comes from. Since the schema documents nothing, the description needed to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it returns "a single object" without naming the resource (an integration config) that the tool name implies. With siblings like integrations_configs_list, integrations_configs_object_retrieve, and integrations_configs_retrieve, the agent gets no basis for telling them apart from this text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no named alternative such as the list endpoint or the object_retrieve variant. At best, retrieval-by-id is weakly implied by the required 'id' parameter and the word 'Return'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_integrations_configs_rpc_createApi integrations configs rpc createD
Generic endpoint for interactive integration commands.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false, so the safety profile is partly known. The description adds no meaningful behavioral context beyond "interactive commands" and does not explain what is created, what external side effects occur, or what permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence, but it is under-specified rather than efficiently concise. The sentence is not front-loaded with actionable information about the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a non-read-only, open-world integration action with a required identifier and no output schema, the description is far too thin. It omits the command semantics, target object, side effects, and any return or error behavior an agent would need before invoking it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter, id, with 0% description coverage, and the description does not mention it at all. An agent cannot infer what object the id refers to or how the value should be formed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that this is a "Generic endpoint for interactive integration commands," which is vague and does not specify what the create/RPC action actually does. It also fails to distinguish this tool from nearby integration-config siblings such as configs_create, configs_test_connection_create, and configs_remote_objects_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternatives. The word "generic" does not tell an agent which interactive integration scenario should select this endpoint over the many sibling integration tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_integrations_configs_test_connection_createApi integrations configs test connection createC
Custom action to test the connection for a saved integration configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, openWorld=true, idempotent=false and destructive=false, covering the network-call and side-effect profile. The description adds almost nothing beyond that: it does not say what happens on failure, whether a result object is returned, or whether the saved config is mutated by the test.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with the key concept (test connection for a saved config) front-loaded; nothing is padded. It is efficient but sparse for a non-trivial action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is the only place an agent could learn what a 'test' yields (success/failure, error details, latency). For an openWorld, non-idempotent network action with an undocumented parameter, the description is materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter is just 'id' with no description. The phrase 'saved integration configuration' hints that the id identifies a stored config, but it never states 'id of the integration configuration' explicitly, so compensation for the coverage gap is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: testing the connection for a saved integration configuration. It is reasonably distinguishable from the config CRUD siblings, but it never acknowledges the closely related sibling ciso_assistant_api_integrations_test_connection_create, so an agent cannot tell from this text which test-connection endpoint to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by 'saved integration configuration' (a config must already exist). There is no explicit when-to-use, no exclusion, and no mention of the sibling test_connection endpoint that takes different inputs, leaving selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_integrations_configs_updateApi integrations configs updateDIdempotent
API endpoint for creating, viewing, updating, and deleting Integration Configurations.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the mutation profile (readOnlyHint=false, idempotentHint=true, destructiveHint=false, openWorldHint=true), so the description should add what changes — e.g., that the body replaces fields on an existing integration config, whether changes affect active syncs, or permission requirements. Instead it repeats a CRUD verb list and adds nothing 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, but it is boilerplate that does not earn its place — it neither distinguishes the tool nor explains the single required input. Brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an opaque freeform body, no output schema, and 0% schema description coverage, the description should explain the payload shape and the effect of the update. None of that is present, leaving the agent unable to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the two parameters are entirely undocumented: 'id' is a bare string with no explanation of format or where to obtain it, and 'body' is a freeform object with additionalProperties and no nested schema. The description provides zero param info, so an agent has no idea what fields to put in the body.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description reads as a generic CRUD summary ('creating, viewing, updating, and deleting Integration Configurations') rather than identifying this specific tool as the update operation. It does name the resource (Integration Configurations), but an agent cannot tell from the text whether this tool updates, creates, or deletes — the siblings configs_create, configs_retrieve, configs_destroy, and configs_list all exist separately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus configs_partial_update or the other CRUD siblings. Because the description enumerates all operations, it actively muddies tool selection rather than helping. There is no mention of required id semantics or that a full vs partial update distinction exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_integrations_providers_listApi integrations providers listCRead-onlyIdempotent
An API endpoint to list all available (and active) Integration Providers.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| provider_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds one useful behavioral detail – that only available/active providers are returned – but says nothing about pagination, result size, or whether inactive providers can be surfaced via parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no padding beyond the boilerplate 'An API endpoint to' opener. It is front-loaded but under-specified rather than efficient, so it earns a middling score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list endpoint with seven undocumented parameters and no output schema, the description does not explain pagination behavior, the shape of returned provider objects, or how provider_type/search interact with the 'active' claim. Annotations cover safety but not the call contract, leaving the agent under-equipped.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Seven parameters (name, limit, offset, search, ordering, max_pages, provider_type) have 0% schema description coverage, and the description mentions none of them. The 0-coverage baseline requires the description to compensate, and it does not; the agent must guess at pagination and filter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (list) and resource (Integration Providers), and the parenthetical '(and active)' signals a filtered scope. It is distinguishable from the sibling integrations_configs_list (which returns configured instances rather than the provider catalog), though it never names that alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus integrations_configs_list or integrations_test_connection_create, no prerequisites, and no exclusions. The only hint is the word 'active' in the parenthetical, which implies a filter but does not instruct the agent when that filter matters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_integrations_sync_mappings_destroyApi integrations sync mappings destroyCDestructiveIdempotent
An API endpoint to delete a SyncMapping.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond restating the delete (which the annotations and name already imply) — no mention of whether deletion cascades, is recoverable, or requires permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no wasted words, but the brevity reflects under-specification rather than tight, front-loaded information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive endpoint with no output schema and an undocumented required parameter, the description should at minimum clarify the id's meaning and any cascade or permission behavior. None of that is present, leaving the agent with essentially only the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the single 'id' parameter is undocumented in the schema. The description only implies it is a SyncMapping identifier through the resource name; it gives no format, uniqueness, or lookup guidance to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('delete a SyncMapping'), so the basic operation is identifiable. However, 'An API endpoint to' is filler and there is no differentiation from sibling destroy endpoints (e.g. asset_class_destroy, feared_events_destroy) beyond what the tool name already conveys.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus alternatives, no prerequisites (e.g. must the mapping be unreferenced?), and no mention of what happens to related sync data. The agent must infer everything from the one verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_integrations_test_connection_createApi integrations test connection createA
An endpoint to test connection credentials without saving them.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose that this is not read-only, is open-world, non-idempotent, and non-destructive. The description adds the important behavioral detail that nothing is saved, which is valuable beyond the annotations. It still does not describe what the test does externally or what the result indicates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with the key constraint front-loaded. 'An endpoint to' is slightly redundant, but the sentence contains no substantive waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter operation with annotations covering safety and openness, the description gives adequate high-level context. However, it does not explain how credentials are supplied despite the empty schema, nor what a successful or failed test returns, leaving some ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and 100% schema description coverage, so there are no parameter semantics for the description to explain. The baseline for zero-parameter tools applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: test connection credentials. It also states a key scope constraint, 'without saving them,' making the operation distinguishable from a create/save flow. It does not explicitly distinguish itself from the sibling `integrations_configs_test_connection_create`, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'test connection credentials without saving them' implies the intended use case: validating credentials before persisting them. However, it gives no explicit guidance on when to use this tool versus the sibling configs test-connection tool, nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_journeys_batch_action_createApi journeys batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is at least structured. The description adds nothing beyond that: it does not say what actions are possible on the batch (delete/update/status change), whether the effect is reversible, what permissions are needed (openWorld implies external calls), or what happens on partial failure. It also fails to reconcile 'destructiveHint=false' with a batch operation that could plausibly delete objects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no waste, but that brevity comes from omission rather than economy — the one clause carries almost no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and there are no annotations explaining return behavior, so the description would need to carry more weight. For a mutation endpoint with an empty closed schema it fails to say which entity type is affected, what the batch payload looks like, or what the response contains — an agent cannot safely invoke it on this text alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters the baseline is 4, but this tool is unusual: the schema is an empty object with additionalProperties=false, meaning no arguments are accepted at all, which directly conflicts with the idea of performing a batch action on selected objects. The description does not explain how the target objects or the action are supplied, leaving a real semantic gap the schema cannot fill.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Perform a batch action on multiple objects', which restates the name's 'batch_action' without naming the resource type in scope beyond the tool identifier. It is indistinguishable from the ~150 sibling '*_batch_action_create' tools (answers, assets, findings, users, etc.), all of which would match this sentence verbatim.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this batch endpoint versus the sibling single-object endpoints (e.g. ciso_assistant_api_journeys_update, ciso_assistant_api_journeys_partial_update) or versus other batch_action tools. No required preconditions, selection criteria, 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.
ciso_assistant_api_journeys_cascade_info_retrieveApi journeys cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered structurally, but the description adds nothing beyond that — not what a "cascade preview" computes (e.g. dependent journey steps counted before a delete), nor any permission or performance notes. It does not contradict the annotations, so no 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity is under-specification rather than conciseness: a two-word fragment ending in a colon with nothing front-loaded or explained. Length is not the problem; content is absent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an endpoint whose whole value is explaining cascade impact, there is no output schema and no description of the return shape, so the agent has zero basis to interpret results. Nothing an agent needs to invoke or trust this tool is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, id, with 0% schema description coverage and a bare string type. The description does not clarify whether id refers to a journey, a step, or a parent object, nor its format, so the parameter is fully undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment "Cascade preview:", which only restates the tail of the tool name (cascade_info_retrieve) without a verb, a resource, or an object it operates on. An agent cannot tell from this text what the endpoint actually returns, nor how it differs from the many sibling cascade_info_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus alternatives such as journeys_retrieve, journeys_object_retrieve, or journeys_list. The trailing colon suggests missing content rather than a deliberate instruction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_journeys_createApi journeys createD
api_journeys_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false, so the agent knows it is a non-idempotent, non-destructive write. The description adds zero behavioral context — no mention of what gets created, what the body must contain, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Technically terse, but this is under-specification rather than conciseness. The single token earns nothing and front-loads no information beyond the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with an opaque free-form body, no output schema, no annotations explaining the write semantics, and a description that is only the tool name. Nothing helps an agent call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (body) with 0% schema description coverage, and the description says nothing about it. The agent has no idea what payload shape a 'journey' create expects, and the schema itself is an untyped free-form object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the literal string "api_journeys_create", which restates the tool name and title without adding a verb or resource explanation. An agent cannot tell what a 'journey' is here or how this create differs from journeys_rename, journeys_upgrade, or journey_steps_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this versus the many sibling journey tools (journeys_list, journeys_rename_create, journeys_upgrade_create, journey_steps_create). The agent must infer everything 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.
ciso_assistant_api_journeys_dashboard_retrieveApi journeys dashboard retrieveDRead-onlyIdempotent
api_journeys_dashboard_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description contributes nothing further — no indication of what the dashboard payload contains, whether results are user-scoped or permission-filtered, or whether the call is expensive. It does not contradict the annotations, but it adds zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single token string with no wasted words, but this is under-specification rather than conciseness. There is no front-loaded statement of purpose because there is no statement of purpose at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve endpoint with no output schema and an undocumented required identifier, the description should at minimum say what object the id identifies and what the response represents. Neither is present, so an agent has essentially nothing to act on beyond the name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter 'id' with 0% schema description coverage, so the description carries the full burden of explaining what the id refers to. It says nothing — the agent must guess whether 'id' is a journey UUID, a dashboard id, or a related object reference, and what happens with an unknown id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name repeated back ('api_journeys_dashboard_retrieve') with underscores stripped. It conveys no verb+resource statement beyond what the identifier already implies, and it does not distinguish this dashboard endpoint from sibling journey endpoints such as journeys_retrieve or journey_steps_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative routing guidance of any kind. An agent cannot tell from the description whether this returns chart data for a journey dashboard, aggregate counters, or a config object, nor when to prefer it over journeys_retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_journeys_destroyApi journeys destroyDDestructiveIdempotent
api_journeys_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered by structured data — but the description adds nothing at all, not even what a journey is or what cascades when one is deleted (note the sibling cascade_info_retrieve tool). Zero value added 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but the brevity comes from under-specification rather than efficiency — it is the tool name copied verbatim with no front-loaded statement of purpose. There is nothing to trim and nothing to use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world, non-read-only mutation with no output schema and an undescribed required parameter, the definition provides no information an agent needs to call it safely. It is entirely inadequate given the tool's risk profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter 'id' exists with 0% schema description coverage, and the description does not say what the id identifies (a journey UUID? a numeric pk?) or what format it takes. With no compensation for a completely undocumented parameter, this fails the schema-coverage rule.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal tool name 'api_journeys_destroy' — a tautology that restates the identifier without stating a verb, resource, or outcome in human terms. It does not distinguish this from siblings such as ciso_assistant_api_journeys_batch_action_create or ciso_assistant_api_journey_steps_destroy beyond the already-visible name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which alternative to pick (e.g. batch_action_create for bulk deletion, or partial_update for modification). An agent must infer everything from the name suffix 'destroy'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_journeys_listApi journeys listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| preset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
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 no behavioral context beyond an internal serializer detail, such as pagination, filtering scope, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but it is not front-loaded with the tool's purpose and the sentence does not earn its place because it describes an internal override rather than agent-relevant behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list endpoint with 8 undocumented parameters and no output schema, the description is completely inadequate. It gives an agent no information needed to decide whether to call it or how to use its filters and pagination.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 8 parameters with 0% schema description coverage, and the description does not explain any of them (id, limit, folder, offset, preset, search, ordering, max_pages). It provides no meaning beyond the bare parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal implementation note ('Override the list method to inject optimized data into the serializer context') rather than stating that this tool lists journeys. It implies a list operation only indirectly and never names the resource being listed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or how it differs from sibling list/retrieve tools such as journeys_retrieve or journeys_object_retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_journeys_object_retrieveApi journeys object retrieveDRead-onlyIdempotent
api_journeys_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that — no detail on what 'object' retrieval returns, whether the id is a UUID, or whether access is scoped. With annotations present, the bar is lower, but zero added context caps this at 2.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single token with no front-loaded statement of purpose. This is under-specification rather than conciseness — it is short only because it says nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an object-retrieval endpoint with no output schema, no annotation-level detail, and an undocumented id parameter, the description must carry the entire informational burden and does not. Nothing an agent needs in order to call it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, and the description provides no compensating detail such as the id format (UUID) or which entity it addresses. The one-word description leaves parameter meaning entirely inferred from the schema's type alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim — 'api_journeys_object_retrieve' — so it merely restates the title rather than stating what the tool does. An agent learns only that it retrieves an 'object' related to 'journeys', with no verb+resource specificity that distinguishes it from siblings like api_journeys_retrieve or api_journey_steps_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. With siblings such as api_journeys_retrieve, api_journeys_list, and api_journeys_object_retrieve, the definition gives an agent no way to choose between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_journeys_partial_updateApi journeys partial updateD
api_journeys_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, so the safety profile is covered externally. The description adds nothing beyond that — it does not say that unspecified fields are left untouched (the defining trait of a partial update) or what happens to unknown/invalid body keys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but purely because it says nothing — this is under-specification, not conciseness. There is no front-loaded statement of intent beyond the identifier itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with an undocumented anyOf body, no output schema, and dozens of near-identical sibling tools requires far more description than a bare ID. Nothing an agent needs to invoke it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the `body` parameter is a free-form object with no documented shape. A description pointing at what fields exist on a journey and how PATCH merge semantics apply would be the only source of that information, and it provides none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation ID "api_journeys_partial_update" repeated verbatim, which merely restates the tool name and title. It conveys no additional specificity about what a 'journey' is or what fields a partial update touches. It is indistinguishable from the sibling API surface without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus ciso_assistant_api_journeys_update (full update), _rename_create, _upgrade_create, or _batch_action_create. The agent is left to infer the difference between partial and full update entirely from naming conventions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_journeys_rename_createApi journeys rename createD
api_journeys_rename_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, so the agent knows this mutates state non-idempotently, but the description adds nothing: it does not say what gets renamed/created, what happens on repeated calls (critical given non-idempotency), or what permissions are needed. No contradiction with annotations, but zero value added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but this is under-specification rather than conciseness — the single echoed identifier carries no informational content and there is nothing front-loaded to orient the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating, non-idempotent, open-world tool with an undocumented required parameter and no output schema, the description should at minimum explain the operation and its effect. It supplies none of that, so an agent cannot safely decide to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter 'id' is undocumented. The description says nothing about what the id identifies (a journey? a step?), whether it is the source or target of the rename, or the expected format, leaving the only required argument ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool's own identifier string 'api_journeys_rename_create' — a tautology that restates the name and title rather than stating what the operation does. An agent can guess it involves journeys and some rename-or-create action, but cannot tell what resource is renamed or created.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus the many sibling journey mutation tools (api_journeys_create, api_journeys_update, api_journeys_partial_update, api_journeys_upgrade_create). No prerequisites, no exclusions, no described trigger.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_journeys_retrieveApi journeys retrieveBRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, and non-destructive behavior, so the bar is lower. The description adds useful behavioral context by noting that unauthorized related fields are masked, which tells the agent that the returned object may be permission-filtered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It is concise and every clause contributes, though it could have used a few more words to name the resource being retrieved.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple input schema and rich annotations, the description is somewhat adequate, but it omits the core resource being retrieved and provides no differentiation from the many sibling journey endpoints. For a retrieve tool in this dense API surface, that leaves a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description says nothing about the required id parameter. With only one parameter the ambiguity is limited, but the description does not clarify what kind of ID is expected or add meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says "Return a single object" but never names the resource (a journey), so it only vaguely conveys the tool's purpose. The name and title supply the missing context, but the description itself does not distinguish this from sibling journeys_object_retrieve or journeys_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling journeys_object_retrieve, journeys_list, or other journey endpoints. It neither states prerequisites nor explains when a single-object retrieve is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_journey_steps_batch_action_createApi journey steps batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, non-destructive, non-idempotent and open-world behavior; the description adds nothing beyond that – no mention of what a batch operation does to matched objects, whether it is atomic, or what permission it requires. It also does not conflict 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no waste, but the brevity comes from under-specification rather than from front-loading useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutating, non-idempotent batch endpoint with no output schema and an opaque empty input schema needs the description to carry the burden of explaining the operation set and payload shape; the one generic sentence does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero properties with additionalProperties:false and 100% (trivial) coverage, so the baseline is a 3–4. The description does not explain what a 'batch action' payload consists of (ids, action name, values), which is exactly the information the empty schema fails to convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Perform a batch action on multiple objects' – the resource is referred to generically as 'objects' rather than journey steps, so the only resource signal comes from the tool name. With dozens of near-identical '*_batch_action_create' siblings, an agent gets no description-level differentiation between them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use a batch action instead of the sibling create/update/partial_update tools, no prerequisites, and no note on which batch operations are supported. Usage must be inferred entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_journey_steps_cascade_info_retrieveApi journey steps cascade info retrieveCRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 no behavioral context such as what the preview contains, whether it traverses related journey steps, or any permission/rate-limit details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
'Cascade preview:' is extremely short, but this is under-specification rather than useful conciseness. There is no front-loaded explanation of purpose or behavior to orient the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even for a simple read-only tool, the description omits what a cascade preview returns and what the required id identifies. Annotations cover safety hints, but no output schema exists and the description does not fill the remaining semantic gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required string parameter, id, with 0% description coverage. The description does not explain whether this id refers to a journey step, a journey, or another entity, so it fails to 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the fragment 'Cascade preview:' and never states a specific verb or resource beyond echoing part of the tool name. It does not distinguish this journey-step cascade preview from the many sibling cascade_info_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool, when not to use it, or which alternative cascade/retrieve tool should be selected instead. The fragment gives no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_journey_steps_createApi journey steps createD
api_journey_steps_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare a non-read-only, non-idempotent operation in an open world, so the agent knows it mutates external state. The description adds nothing: no indication of required permissions, what a created step is attached to, or what happens on retry given idempotentHint=false. It does not contradict the annotations, but it contributes no behavioral information at all.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is extremely short, but that is under-specification rather than conciseness; there is nothing front-loaded because there is nothing to load. Not verbose, but earns no credit for structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutating create endpoint with an opaque free-form body, no output schema, and zero annotation explanation of semantics requires substantial description. The definition is effectively empty, leaving the agent unable to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'body' parameter has 0% schema description coverage and is typed only as a free-form object with additionalProperties. The description offers no information about what the body must contain, so the agent has no way to construct a valid request from either source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name repeated ('api_journey_steps_create'), with no verb, resource, or scope beyond what the name already encodes. It cannot be distinguished from sibling tools such as journey_steps_batch_action_create or journey_steps_update on the basis of the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus journey_steps_update, journey_steps_partial_update, or journey_steps_batch_action_create. No context, exclusions, or alternatives are mentioned anywhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_journey_steps_destroyApi journey steps destroyDDestructiveIdempotent
api_journey_steps_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is known. The description adds nothing beyond that — no mention of what is deleted, whether cascading child records are removed, or whether the ID must exist. It does not contradict annotations, but contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is minimal in length, but that brevity reflects under-specification rather than efficiency. The single token is not front-loaded with any useful information because there is none.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no output schema and an undocumented parameter, the description should explain effects, prerequisites, and reversibility. None of that is present, leaving the agent with only the annotations and the name to act on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, and the description provides no clarification of what the ID refers to (journey step vs. journey) or its format. With one undocumented parameter, the description is the only place this could be explained, and it is silent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal tool name repeated ('api_journey_steps_destroy'), which is a tautology rather than an explanation. The name implies deletion of a journey step, but the description adds no verb-resource statement, no scope, and no differentiation from sibling destroy/update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as ciso_assistant_api_journey_steps_partial_update or api_journeys_destroy. No prerequisites, no warnings about irreversibility, no context at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_journey_steps_listApi journey steps listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| journey | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is covered structurally. The only behavioral hint here — that returned data is "optimized"/enriched for the serializer — is vague and never explains pagination, default page size, or what the enrichment means for the caller.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence with no filler, but that brevity comes from under-specification rather than tight writing: the one sentence describes an implementation detail instead of front-loading the caller-relevant facts.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 undocumented optional parameters, no output schema, and no annotations explaining return shape, the description should carry the explanatory load — instead it offers nothing an agent could use to construct a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Eight parameters (id, limit, offset, search, status, journey, ordering, max_pages) with 0% schema description coverage are entirely undocumented in both schema and description. The description adds no syntax, semantics, allowed values, or default meaning for any of them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description speaks in framework-internal terms ("Override the list method to inject optimized data into the serializer context") rather than stating what the tool does for a caller — namely, list journey steps. An agent can only infer a list operation from the tool name, not the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this instead of the many sibling list/retrieve tools (journey_steps_retrieve, journey_steps_object_retrieve, journeys_list, etc.), no prerequisites, and no filtering scenario guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_journey_steps_object_retrieveApi journey steps object retrieveDRead-onlyIdempotent
api_journey_steps_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered upstream. The description adds no context of its own — no note on what object is returned, whether ids are numeric or ref_ids, or what happens on a not-found id. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is nothing to trim, but the text is under-specified rather than concise — a single snake_case identifier is not a description. Nothing is front-loaded because nothing is stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one required, undocumented parameter, no output schema, and a dense family of confusable siblings, the description is completely inadequate: it leaves the agent unable to tell which retrieve variant to pick or what the returned object contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter. The description does not clarify whether this is a database primary key, a ref_id, or a UUID, nor whether journey context is required. The schema only reveals type=string, so the description should have compensated and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool identifier re-underscored ('api_journey_steps_object_retrieve'), restating the name and title without stating a verb, resource, or scope in prose. An agent can infer 'retrieve a journey step object' only from the name itself; the description contributes nothing beyond it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool. Critically, the sibling list contains near-identical operations (journey_steps_retrieve, journey_steps_list, journey_steps_object_retrieve), and the description gives no basis for choosing among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_journey_steps_partial_updateApi journey steps partial updateD
api_journey_steps_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered by structured data. The description adds no behavioral context of its own — nothing about what fields are mutably updated, partial-merge semantics, permissions, or consequences of omitted fields. No contradiction, but zero added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is trivially short but that is under-specification rather than conciseness; there is no front-loaded statement of purpose, scope, or payload shape. A single identifier token earns none of its space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation endpoint with an unconstrained request body, 0% schema coverage, no output schema, and no annotations explaining payload semantics. The description supplies none of the missing information an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description explains neither the required 'id' nor the untyped 'body' object, which is the actual payload of the PATCH. With an anyOf free-form object and no documentation anywhere, the agent cannot know what keys the body accepts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal snake_case tool name repeated ('api_journey_steps_partial_update'), which is a tautology. It conveys no verb+resource statement beyond what the name already encodes, and does nothing to separate it from siblings like api_journey_steps_update, api_journey_steps_destroy or api_journeys_partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to use this versus api_journey_steps_update (full update), api_journey_steps_create, or api_journey_steps_batch_action_create. The agent must infer everything from the name suffix alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_journey_steps_retrieveApi journey steps retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description does add one genuinely useful behavioral detail beyond that — unauthorized related fields are masked — but says nothing about missing-ID behavior, error responses, or what 'unauthorized' depends on.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, so nothing is wasted, but its brevity comes from omission rather than efficiency. The one distinguishing fact (field masking) is present but the core subject is never stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must carry the return-value burden; 'a single object' plus masking is not enough for an agent to know what fields a journey step exposes. Combined with an undocumented id parameter and no annotation gaps covered, the definition is under-specified for a lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter at 0% schema description coverage: the schema only shows 'id: string' with no format or source. The description does not mention the id at all, so it fails to compensate for the coverage gap — is it a UUID, a slug, a composite key?
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Return a single object' is nearly a restatement of 'retrieve' and never names the resource (a journey step). An agent cannot tell from the description alone what entity is being fetched, let alone distinguish this from sibling retrieves like journey_steps_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus journey_steps_list, journey_steps_object_retrieve, or journey_steps_cascade_info_retrieve. Usage is only inferable from the tool name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_journey_steps_updateApi journey steps updateDIdempotent
api_journey_steps_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the description needs to add context such as permission requirements or what happens to unmentioned fields. Instead it adds nothing, leaving the agent with only the annotation flags.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but brevity here reflects under-specification rather than efficiency: the single sentence is a name restatement and carries no front-loaded actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation endpoint (readOnlyHint=false) with an opaque free-form body and no output schema. Nearly everything an agent needs — valid body fields, id format, error behavior, effect on the parent journey — is absent from both the description and the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the 'body' parameter is an unconstrained anyOf object with no documented fields. The description must compensate by explaining what fields the body accepts, but it says nothing about either 'id' or 'body'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated with underscores swapped for spaces ('api_journey_steps_update'), a tautology. It conveys only the generic verb 'update' on 'journey steps' and offers no differentiation from siblings such as ciso_assistant_api_journey_steps_partial_update or ciso_assistant_api_journey_steps_update semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. The sibling list contains multiple near-identical journey-step mutations (partial_update, batch_action_create, destroy), and the description never says which one applies or under what conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_journeys_updateApi journeys updateDIdempotent
api_journeys_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing further — no statement about what fields can be mutated, what happens to omitted fields, or whether the whole journey is replaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a bare identifier rather than a sentence; there is no front-loaded purpose statement. This is under-specification rather than genuine conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a free-form body object, no output schema, and zero schema coverage on both parameters, the description supplies none of the context an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and neither parameter (id, body) is documented in the schema. The description offers no compensating information about what 'id' identifies or what shape/fields 'body' accepts, which is the most critical gap given the opaque free-form object payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the string "api_journeys_update", which merely restates the tool name and title. It implies the resource (journeys) and an update operation, but provides no verb-plus-resource explanation of what is actually being updated or on what object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as ciso_assistant_api_journeys_partial_update, journeys_rename_create, journeys_upgrade_create, or journeys_batch_action_create. An agent must infer the difference between full update and partial update entirely from naming conventions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_journeys_upgrade_createApi journeys upgrade createD
api_journeys_upgrade_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false and openWorldHint=true, but the description adds nothing beyond structured fields: no mention of side effects on existing steps, reversibility, permissions, or what "upgrade" mutates. With a non-idempotent write operation, this is a serious disclosure gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description contains no sentence, no structure, and no information beyond the identifier itself; there is nothing to front-load because nothing is stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world write tool with zero schema descriptions and no output schema, the description should explain the id, the upgrade semantics, and the expected result. None of that is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, "id", with 0% schema description coverage, and the description says nothing about it — not whether it is a journey id, a step id, a version id, or the expected format. The description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal string "api_journeys_upgrade_create" — a restatement of the tool name with no verb, resource, or scope in prose. There is no way to tell from it what an "upgrade" of a journey actually does (migrate steps? bump a schema version? re-apply a preset?).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool, when not to, or how it relates to the many sibling journey tools (journeys_create, journeys_update, journeys_rename_create, journeys_partial_update). An agent would have to guess between upgrade, update, and rename.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_library_filtering_labels_batch_action_createApi library filtering labels batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=false, idempotent=false and openWorld=true, so the safety profile is covered. The description adds nothing beyond that: it doesn't explain what a batch action does to the selected objects, whether it requires elevated permissions, or that the action is non-idempotent (which annotations flag but the description never clarifies).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence with no waste, but the brevity comes from under-specification rather than economy: nothing about the resource, the action semantics, or the result is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-read-only, open-world batch mutation with no output schema and an empty input schema, the description supplies no information an agent needs to call it correctly or predict its effect. Annotations carry the only behavioral signal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty (0 parameters, additionalProperties false), so the standard 0-param baseline of 4 applies, but the description never explains how target objects are identified or what payload a batch action takes, leaving a real ambiguity rather than a documented one. This is below baseline for a batch-action tool whose meaning depends on an unspecified selection mechanism.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the name generically: 'Perform a batch action on multiple objects' says nothing about what kind of objects (library filtering labels) or what a 'batch action' is. Against ~200 sibling *_batch_action_create tools with identical generic descriptions, an agent cannot differentiate this one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool versus the sibling create/update/partial_update/destroy variants of the same resource, nor versus the cascade_info or list endpoints. Usage must be entirely inferred from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_library_filtering_labels_cascade_info_retrieveApi library filtering labels cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The word "preview" adds a small amount (implying computed impact output rather than the object itself), but it does not say what a cascade preview contains, whether it is expensive, or how it relates to actual cascading deletes. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but shortness here comes from under-specification rather than economy: a two-word fragment ending in a colon reads like a truncated heading, not a front-loaded explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple read-only retrieve with one parameter and no output schema, so expectations are modest, but the description supplies neither what the preview returns nor how to interpret the id. Annotations cover safety while the description leaves the actual behavior entirely opaque.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter is just "id" with no type semantics beyond string. The description says nothing to clarify whether this is a filtering-label id, a label-group id, or a library id, which is exactly the ambiguity that matters for this family of endpoints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is an incomplete fragment that never names the resource or says what is being previewed. Only by reading the tool name can an agent infer this previews cascade/deletion impact for library filtering labels, so the description itself restates rather than explains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when the plain retrieve or object_retrieve siblings would be preferred, and no prerequisites. The agent has no textual basis for choosing this over the roughly ten sibling filtering-labels operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_library_filtering_labels_createApi library filtering labels createC
API endpoint that allows library labels to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, so the safety profile is covered externally. The description adds nothing beyond that — it does not say a label is created, what happens on duplicate names, or what a 'library label' is scoped to. "Viewed or edited" is also an odd framing for a POST create endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler — structurally clean. But the brevity reflects under-specification rather than efficiency, since nothing an agent needs is actually conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with an opaque untyped body, no output schema, and only boilerplate annotations, the description should explain the payload and the resulting record. It covers none of that, leaving the agent unable to construct a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter is an unconstrained object with additionalProperties=true and 0% schema description coverage, so the schema provides essentially no information. The description does not name the required fields (e.g., name, label/color) or the expected body shape, leaving the agent with no way to know what to send.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django REST Framework boilerplate: "allows library labels to be viewed or edited." It never states that this endpoint creates a library filtering label, which is what the tool name and the create suffix indicate. It is nearly a tautology of the title and does not distinguish it from library_filtering_labels_update, _partial_update, or _list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus the many sibling label endpoints (list, retrieve, update, partial_update, destroy, batch_action). The phrase "viewed or edited" actually muddies the choice between this create endpoint and the read/update siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_library_filtering_labels_destroyApi library filtering labels destroyDDestructiveIdempotent
API endpoint that allows library labels to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, while the description frames the endpoint as one that allows labels to be 'viewed or edited.' This contradicts the destructive nature of the operation and fails to disclose that an existing label will be deleted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is brief, but it is under-specified and misleading rather than informative. Brevity does not compensate for failing to state the actual destructive action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete-by-id endpoint, the description should at least state that it deletes a library filtering label and identify the required id. It instead gives a generic view/edit description that leaves the agent without the information needed to invoke it correctly or safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter, id, with 0% description coverage, and the description does not mention the identifier at all. It adds no meaning about which label is deleted or what the required id represents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name and annotations identify a destructive delete operation, but the description says it allows labels to be 'viewed or edited.' That is actively misleading about what the endpoint does: it neither describes deletion nor distinguishes this destroy operation from list/update siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool, when not to use it, or which alternative to choose. It gives no warning that this is a destructive operation, even though that is the central usage consideration here.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_library_filtering_labels_listApi library filtering labels listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds nothing behavioral — 'inject optimized data into the serializer context' is an implementation detail about server-side performance, not something the agent can act on.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, which is structurally fine, but the sentence it spends its budget on is developer-internal trivia rather than front-loading what the tool returns or how to use it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 7-parameter listing tool with no output schema, no parameter documentation, and no usage context needs a description that explains filtering/pagination semantics. This one explains none of it, leaving the agent unable to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 7 parameters (id, limit, folder, offset, search, ordering, max_pages) with schema description coverage of 0%, and the description explains none of them. With no compensating text, an agent has no idea how to filter, paginate, or order results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal Django docstring ('Override the list method to inject optimized data into the serializer context') rather than an agent-facing statement of what the tool does. It never says it lists filtering labels, and it does not distinguish this tool from the many sibling `*_list` endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this versus alternatives such as `ciso_assistant_api_filtering_labels_list` or `..._library_filtering_labels_retrieve`. The only implied usage is 'it is a list method', which the agent could already infer from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_library_filtering_labels_object_retrieveApi library filtering labels object retrieveCRead-onlyIdempotent
API endpoint that allows library labels to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is largely covered. However, the description's 'viewed or edited' suggests an edit capability that contradicts the read-only annotation, and it adds no other behavioral context (no mention of the id lookup, error behavior, or what an 'object' response contains).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler. It is efficient, though that is because it says almost nothing of substance rather than because it is well-scoped.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-item lookup with an undocumented id and no output schema, the description should clarify what is returned and how objects differ from list results. Annotations cover the safety profile, but the retrieval contract itself is left entirely unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there is one required parameter (id). The description says nothing about what the id refers to or its format (integer? string? UUID?), so it fails to compensate for the undocumented parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (library labels) but the verb is vague boilerplate: 'viewed or edited'. Since this tool is named object_retrieve and its sibling ciso_assistant_api_library_filtering_labels_retrieve / _list exist, the description should distinguish the single-object-by-id operation from list and retrieve, which it does not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many sibling labels tools (list, retrieve, partial_update, batch_action). No prerequisites, no exclusions, no conditions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_library_filtering_labels_partial_updateApi library filtering labels partial updateD
API endpoint that allows library labels to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows labels to be "viewed or edited", yet annotations set readOnlyHint=false and this is a partial-update tool — the "viewed" wording conflates a write endpoint with a read one. Beyond that it discloses nothing about what a partial edit changes, which fields are patchable, or what auth is required; the body is an open JSON object with no constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, which is structurally clean, but the brevity comes at the cost of substance — there is no front-loaded information worth having.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with an opaque free-form body, no output schema, and 0% parameter documentation leaves the agent unable to construct a valid call. The description does nothing to close that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters, and the description adds nothing: it never explains that id identifies the label record or that body carries the partial label payload. An agent has no idea what shape body should take.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is DRF boilerplate ("API endpoint that allows library labels to be viewed or edited") that largely restates the name/title. It never says this is a PATCH-style partial update of a single library filtering label identified by id, nor does it distinguish it from the many sibling create/update/destroy/retrieve endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus _update (full replace), _create, or _partial_update variants elsewhere in the library. The phrase "viewed or edited" hints at two modes but gives no condition or exclusion to select among the library_filtering_labels siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_library_filtering_labels_retrieveApi library filtering labels retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds one genuinely behavioral detail beyond that — unauthorized related fields are masked in the response — but it does not say what 'unauthorized' depends on (user role, object ownership) or what happens when the id does not exist or is inaccessible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no wasted words and the key behavior (field masking) is front-loaded. However, the brevity here reflects under-specification rather than efficiency, since nothing identifies the resource being fetched.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a read-only retrieve with no output schema, one fully undocumented parameter, and a near-duplicate sibling, so the description should carry the load of identifying the resource and the return shape. It identifies neither, leaving only the masking note as useful context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the description must compensate and it does not. It never clarifies whether the id is a numeric primary key, a UUID/string ref, or what format is accepted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Return a single object', which restates the generic retrieve semantics without naming the resource (filtering labels) or the identifier used. It does not distinguish this from the sibling ciso_assistant_api_library_filtering_labels_object_retrieve, which appears to do the same thing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no mention of when this is preferable to the list endpoint or to the object_retrieve sibling, and no prerequisites or id-source hints. An agent must guess between two nearly identical retrieve tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_library_filtering_labels_updateApi library filtering labels updateCIdempotent
API endpoint that allows library labels to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
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 safety profile is covered structurally. The description adds nothing beyond that: it does not say that the body replaces the label definition, what happens to omitted fields, or what permissions are required. Its "viewed or edited" phrasing is also ambiguous for a write-only endpoint, though not a direct contradiction of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no wasted clauses and nothing buried, but that brevity comes from under-specification rather than efficiency — there is no useful front-loaded information beyond the resource name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque free-form body and no output schema, the definition should explain the payload shape, replacement semantics, and any authorization requirements. None of that is present, so an agent would have to guess at the request body before calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the body parameter is a free-form object with additionalProperties=true and no declared properties, so the schema tells the agent nothing about which label fields are accepted. The description does not compensate at all — no list of updatable fields, no format hints — even though 'id' is self-explanatory as the required path parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the generic Django REST boilerplate "allows library labels to be viewed or edited", which restates the resource but never states the operation this tool actually performs (full update/put of a library filtering label). With siblings such as library_filtering_labels_list, _retrieve, _partial_update and _create in the same family, the agent gets no way to tell which one to pick from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (an existing label id), and no routing to partial_update for partial changes or to the retrieve/list endpoints for reading. "Viewed or edited" is the only hint, and it is weak for a mutation endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_loaded_libraries_available_updates_retrieveApi loaded libraries available updates retrieveCRead-onlyIdempotent
api_loaded_libraries_available_updates_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered by structured data. The description adds nothing beyond that: it does not say whether the check hits an external registry (consistent with openWorldHint), how fresh the data is, or whether any authentication/network dependency affects results. No contradiction with annotations, but zero added context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but shortness here is under-specification rather than conciseness: a single snake_case identifier with no sentence, no front-loaded purpose, and no structure. There is nothing for an agent to anchor on besides the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-argument read tool with no output schema, the description should at minimum say what the response contains (e.g., per-library current vs. latest version). Neither annotations nor an output schema cover that, so the definition leaves the agent guessing about the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there is no parameter semantics to explain; the baseline of 4 applies. The description neither helps nor hurts here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated verbatim ('api_loaded_libraries_available_updates_retrieve'), which is a tautology rather than an explanation. The name hints at retrieving available updates for loaded libraries, but nothing in the text clarifies what an 'available update' is or what resource is returned. It also does not differentiate from close siblings such as loaded_libraries_retrieve, loaded_libraries_content_retrieve, or loaded_libraries_update_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives. With many loaded_libraries siblings (retrieve, content_retrieve, tree_retrieve, update_retrieve, cascade_info_retrieve) an agent is left to guess which one answers 'are my libraries up to date?'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_loaded_libraries_batch_action_createApi loaded libraries batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the basic safety profile is covered. The description adds nothing beyond that: it does not say what the batch verb does (delete? update? archive?), whether it is transactional, or what happens on partial failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no padding, but the brevity comes from under-specification rather than efficiency. There is no structure to speak of.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world mutation endpoint with an opaque payload and no output schema, the definition leaves the agent without the action vocabulary or the body contract. It is not usable without external API documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single `body` parameter is an untyped free-form object with 0% schema description coverage, and the description supplies zero information about its expected shape (action name, id list, field values). An agent has no way to construct a valid call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Perform a batch action on multiple objects" restates the tool name and never says which objects (loaded libraries) or what the actions are. It cannot be distinguished from the dozens of sibling *_batch_action_create tools, which all use near-identical wording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the single-object endpoints (loaded_libraries_create/update/destroy) or versus other batch tools. No prerequisites, no mention of which operation the batch performs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_loaded_libraries_cascade_info_retrieveApi loaded libraries cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 covered by structured data. The description adds nothing beyond that — it doesn't explain what the preview computes, how expensive it may be (openWorldHint=true), or what the response shape looks like. No contradiction with annotations, but zero added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words plus a colon — the problem is under-specification rather than verbosity. Nothing is front-loaded because there is nothing to load; the fragment does not earn its place as a definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a required id, no output schema, and no schema descriptions, the description is the only place semantics could be conveyed — and it provides none. An agent would be guessing at both the request meaning and the expected return.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%: the single required 'id' has no documentation. The description does not clarify whether 'id' is a loaded library id, a stored library id, or the id of a related object whose cascade is being previewed. The tool name hints at 'loaded libraries', but the description should confirm this and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" essentially restates the tool name (cascade info retrieve) without stating what a cascade preview is, what it previews (deletion impacts? dependency trees?), or what a caller gets back. It conveys that this is a preview-style read of a loaded library's cascade relationships, but an agent cannot distinguish it meaningfully from the many sibling *_cascade_info_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus loaded_libraries_retrieve, loaded_libraries_object_retrieve, loaded_libraries_tree_retrieve, or the cascade_info siblings. No prerequisites, no exclusions, no alternative named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_loaded_libraries_content_retrieveApi loaded libraries content retrieveDRead-onlyIdempotent
api_loaded_libraries_content_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered structurally. The description contributes nothing further: it does not say what 'content' actually is (YAML payload? rendered framework? file bytes?), whether authorization scoping applies, or what happens if the library is not loaded.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here comes from under-specification rather than economy: the single token is a verbatim echo of the tool name with no front-loaded purpose or constraint. Nothing is wasted, but nothing is earned either.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one undocumented parameter, no output schema, and a very large and highly overlapping sibling surface, the description leaves every decision to inference. Nothing tells the agent what is returned or how it differs from the adjacent loaded_libraries endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there is a single required 'id' parameter of type string with no format hint, while the description supplies no clarification. An agent cannot tell whether 'id' is a loaded-library primary key, a stored-library URN, a framework urn, or a slug — a meaningful gap for a retrieve-by-id endpoint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool's own identifier restated, so it adds nothing over the name/title. Only by parsing the snake_case name does an agent infer 'retrieve the content of a loaded library'; no verb-resource statement is made in prose, and it is not distinguished from siblings like loaded_libraries_object_retrieve, loaded_libraries_retrieve, or stored_libraries_content_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is mentioned. The sibling set contains at least four near-identical retrieval endpoints (retrieve, object_retrieve, tree_retrieve, update_retrieve) plus stored_libraries_content_retrieve, and the description gives no basis for choosing among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_loaded_libraries_createApi loaded libraries createD
api_loaded_libraries_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, but the description contributes nothing on top of them — no note on side effects, whether re-calling creates duplicates, or what permissions/context the create requires. Since the description carries no behavioral content at all, it cannot compensate for an opaque body payload even with the lower bar set by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that shortness is under-specification rather than economy: the single token is the tool name echoed back, so nothing is front-loaded and no sentence earns its place. Brevity here works against the agent rather than for it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world create with a free-form body, no output schema, and no other documentation, the description should explain payload expectations and return behavior. It provides none of this, leaving the agent unable to call the tool correctly without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'body' parameter has 0% schema description coverage and is an untyped free-form object, so the description is the only place semantics could be supplied — and it supplies none. There is no indication of expected keys, required fields, or payload shape for a create operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name in snake_case ('api_loaded_libraries_create'); it adds no verb-and-resource framing beyond what the identifier already conveys. An agent can infer 'create something related to loaded libraries' but nothing about what is being created or for which resource type, and the sibling set (list, retrieve, destroy, partial_update, tree, content, available_updates) is not differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the obvious alternatives such as stored_libraries_import_create or loaded_libraries_partial_update. The description is a bare identifier, so the agent gets zero routing signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_loaded_libraries_destroyApi loaded libraries destroyDDestructiveIdempotent
api_loaded_libraries_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is known without the description. However, the description adds zero context beyond those flags — it does not say what gets destroyed, whether related objects cascade, or how to recover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but this is under-specification, not conciseness — it is a single identifier-shaped token with no front-loaded purpose statement, scope, or consequence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world mutation endpoint on an id'd resource, an agent needs to know what is deleted, whether it is reversible, and what the response looks like (no output schema exists). None of that is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single required 'id' parameter, so the description bears full responsibility to clarify what the id refers to (a loaded library UUID) and it provides nothing. The parameter's meaning must be guessed entirely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a literal restatement of the tool name 'api_loaded_libraries_destroy' in prose form. It conveys no verb-plus-resource semantics beyond what the identifier already implies, and nothing distinguishes it from siblings like loaded_libraries_update or loaded_libraries_content_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, what it deletes, or what alternatives exist (e.g., stored_libraries_unload_create as a softer alternative). The agent must infer everything from the name and annotations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_loaded_libraries_listApi loaded libraries listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| urn | No | ||
| limit | No | ||
| locale | No | ||
| offset | No | ||
| search | No | ||
| version | No | ||
| ordering | No | ||
| packager | No | ||
| provider | No | ||
| max_pages | No | ||
| has_update | No | ||
| object_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so safety is covered. The description adds no behavioral context of its own—nothing about pagination, filtering semantics, or what 'optimized data' means for the response—and its content is developer-facing noise rather than agent-facing disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so not bloated, but the sentence is consumed by an implementation note ('override the list method') that earns no place in a tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 13-parameter collection endpoint with no output schema, no parameter documentation, and no description of return shape or filtering behavior. The description leaves virtually everything an agent needs unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 13 parameters with 0% schema description coverage and no types or enums documented, so the schema provides essentially no guidance. The description supplies nothing about id, urn, limit, offset, search, ordering, packager, provider, has_update, version, locale, object_type or max_pages, leaving the agent to guess each one.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description ('Override the list method to inject optimized data into the serializer context') describes an internal Django implementation detail rather than what the tool does for a caller. Only the word 'list' hints that it returns a collection, and it never states that the resource is loaded libraries or what the caller gets back.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this versus the many sibling list/retrieve tools (e.g. ciso_assistant_api_loaded_libraries_retrieve, _object_retrieve, _tree_retrieve). No prerequisites, no exclusions, no alternatives named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_loaded_libraries_object_retrieveApi loaded libraries object retrieveDRead-onlyIdempotent
api_loaded_libraries_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is fully covered structurally. The description adds nothing beyond that — no mention of what object is returned, whether the id is a UUID or a slug-type identifier, or what happens on lookup failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than economy: a single underscored identifier conveys no information an agent didn't already have from the tool name. Nothing is front-loaded because nothing is stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieval tool that sits among dozens of near-identical loaded_libraries operations, with no output schema to describe the return value and no parameter documentation, the description is entirely inadequate to guide correct selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is typed only as string with no format or meaning. The description provides no compensating detail such as whether 'id' is the loaded library's primary key, a stored-library reference, or a framework identifier, leaving a real ambiguity for this family of tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's snake_case name echoed back verbatim ('api_loaded_libraries_object_retrieve'), offering no verb+resource phrasing beyond what the identifier already encodes. An agent learns only that it retrieves some object related to loaded libraries; it cannot distinguish it from sibling tools such as ciso_assistant_api_loaded_libraries_retrieve or ciso_assistant_api_loaded_libraries_content_retrieve. This is tautology rather than explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool, when not to, or which of the many similar loaded_libraries siblings is the correct alternative. The agent must infer the distinction from name fragments alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_loaded_libraries_partial_updateApi loaded libraries partial updateD
api_loaded_libraries_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, and the description adds nothing beyond them — no note on which fields are patchable, whether omitted fields are preserved, or what permissions are needed. The token-level description contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one token with no padding, but this is under-specification rather than conciseness — there is no front-loaded verb, object, or scope statement to structure. Mirrors the tautological 'Process' case.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a free-form body, no output schema, and no annotations covering payload semantics, the definition leaves the agent unable to construct a valid call. Nothing about the partial-update contract, required vs optional fields, or response is conveyed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description supplies no parameter meaning at all. The 'body' parameter is an unconstrained free-form object (additionalProperties: true), so without description text the agent has no way to know what payload shape the endpoint accepts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the operation ID verbatim, 'api_loaded_libraries_partial_update', which merely restates the tool name/title rather than stating in prose what the tool does. An agent can infer a PATCH-style update of a loaded library, but nothing confirms what a 'loaded library' is or what fields are editable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives such as ciso_assistant_api_loaded_libraries_update (full replacement) or ciso_assistant_api_loaded_libraries_destroy, and no prerequisites. The agent must guess at routing among the dozens of sibling loaded_libraries endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_loaded_libraries_retrieveApi loaded libraries retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a safe, idempotent read. The description adds one useful behavioral trait beyond that: unauthorized related fields are masked. It does not explain masking scope, permission requirements, or what 'related fields' means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single, waste-free sentence, but it is too terse for the ambiguity of the tool. The masking point is front-loaded only implicitly, and the sentence omits the resource name entirely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieve-by-id tool with no output schema, the description should at least identify the loaded library resource and clarify the id. Instead it explains only masking, leaving the core operation underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description would need to explain the required id parameter. It does not say what the id identifies, how to obtain it, or what format it expects. The single obvious id parameter prevents a score of 1, but the description adds no real semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns a single object, but never names the resource being retrieved (a loaded library). It is not a pure tautology, yet an agent cannot distinguish this from siblings like loaded_libraries_object_retrieve or loaded_libraries_content_retrieve based on the text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what id refers to, or when to prefer it over the list, object_retrieve, or content_retrieve siblings. The description provides no usage context at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_loaded_libraries_tree_retrieveApi loaded libraries tree retrieveDRead-onlyIdempotent
api_loaded_libraries_tree_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing on top of that: it does not say what the tree contains, whether it spans all loaded libraries or only the one identified, or what depth of nesting is returned. No contradiction, but zero added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from having no content rather than from tight editing. The single token string is a redundant restatement of the tool name, so nothing is front-loaded because nothing is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool with no output schema and an undescribed identifier parameter, the description must carry the entire burden of explaining input meaning and return shape. It carries none of it, so an agent cannot call this correctly without guessing at what 'id' refers to and what a 'tree' response looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, so the schema supplies only 'type: string'. The description does not clarify whether this is a loaded-library id, a stored-library id, a framework id, or a node id, leaving the one thing an agent must know before calling it undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's identifier repeated verbatim ('api_loaded_libraries_tree_retrieve'), so it restates the name rather than stating what the tool does. An agent learns only that something about 'loaded libraries' is retrieved as a 'tree', with no verb-plus-resource phrasing and no differentiation from loaded_libraries_retrieve, loaded_libraries_content_retrieve, or stored_libraries_tree_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance of any kind. In a sibling set this large, with near-duplicate names like loaded_libraries_content_retrieve and stored_libraries_tree_retrieve, the absence of routing guidance is a serious gap rather than a minor omission.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_loaded_libraries_updateApi loaded libraries updateDIdempotent
api_loaded_libraries_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered without the description. The description itself contributes nothing beyond those hints — no mention of what gets overwritten, required permissions, or the semantics of a full update versus a partial one.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single token with no waste, but this is under-specification rather than conciseness. There is no front-loaded verb-object statement of what is being updated or how.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write operation with a free-form 'body' payload, zero schema description coverage, and no output schema, the definition is completely inadequate — an agent cannot construct a valid body or predict the effect of the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two parameters (id and an untyped 'body' object). The description says nothing about either, leaving the shape of the update payload entirely undocumented in both schema and prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'api_loaded_libraries_update' is a restatement of the tool name/title and adds no explanatory content. An agent can infer a mutation of loaded libraries from the name alone, but nothing in the description confirms the resource scope or distinguishes this from siblings like loaded_libraries_partial_update or loaded_libraries_batch_action_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of alternatives (partial_update, batch_action_create, available_updates_retrieve), and no prerequisites. The agent is left to guess from the name whether this is a full replace vs. a partial update.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_loaded_libraries_update_retrieveApi loaded libraries update retrieveDRead-onlyIdempotent
api_loaded_libraries_update_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 contributes nothing beyond that. It also fails to clarify the contradictory-looking 'update' segment in a read operation, which is exactly the ambiguity an agent would need resolved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is a single machine-generated identifier with no front-loaded explanation, no sentences, and no content that earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an undocumented id parameter, no output schema, no annotations explaining the 'update' component, and a crowded sibling namespace, the description is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required 'id' parameter has 0% schema description coverage, so the description must carry the burden of explaining what the identifier refers to (loaded library id? update id?) and it says nothing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool identifier 'api_loaded_libraries_update_retrieve', a tautology that restates the name without stating a verb-plus-resource purpose. It does not resolve the confusing 'update ... retrieve' combination or distinguish this from the many sibling loaded_libraries tools (retrieve, object_retrieve, content_retrieve, available_updates_retrieve, tree_retrieve).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus alternatives. With roughly ten ciso_assistant_api_loaded_libraries_* siblings plus a generic _retrieve, an agent has no basis for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_managed_documents_batch_action_createApi managed documents batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered elsewhere. The description adds nothing beyond that – it never says what a 'batch action' can do, whether objects are identified by id, or whether the call is atomic. It simply echoes the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler is structurally clean, but it is under-specified rather than genuinely concise – there is no front-loaded verb+resource detail and no second sentence that would earn its place by adding meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, an empty input schema, and generic annotations, the description carries the burden of explaining the operation and fails. It says nothing about the managed-documents context, the batch action types, or the object identifiers the call presumably needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty (additionalProperties=false, no properties), so there are no parameters for the description to clarify. While the 0-parameter rule suggests a baseline of 4, the completely empty schema means neither schema nor description conveys how the target objects or action type are supplied, leaving a real semantic gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title: 'Perform a batch action on multiple objects.' It does not name the actual resource (managed documents) nor say which batch actions exist, so it is indistinguishable from the roughly two hundred sibling '*_batch_action_create' tools that share this exact wording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternatives such as the single-object create/update/destroy tools for managed documents. An agent has no basis in the text for choosing this over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_managed_documents_cascade_info_retrieveApi managed documents cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds no behavioral context at all — nothing about what a cascade preview returns, whether it is advisory-only, or what the openWorld access entails. No contradiction with annotations, but no added value either.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is brief, but it is an incomplete fragment ending in a colon rather than a concise, front-loaded statement. There is nothing to waste, yet no information is conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, the description still needs to explain what the preview returns and which object the id refers to. Neither is present, leaving the agent to guess at the semantics of a cascade operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter. The description does not say whose id it is (a managed document, folder, or other object) or what kind of identifier is expected, so it fails entirely to compensate for the undocumented parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment "Cascade preview:" with a trailing colon and no verb or resource named. It loosely hints that the tool previews cascade effects, but an agent cannot tell which resource (managed documents) or what is being previewed without parsing the tool name. Many sibling tools share the cascade_info_retrieve suffix, so no differentiation is offered.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or which sibling (e.g. cascade_info on other models, or managed_documents_retrieve) is the alternative. The fragment provides zero routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_managed_documents_createApi managed documents createD
API endpoint that allows managed documents to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=false, openWorldHint=true, non-idempotent and non-destructive, so the safety profile is covered. The description adds nothing beyond that: it does not say what a created document looks like, what the body must contain, whether a draft is created, or what permissions are needed. Its 'viewed or edited' phrasing is also misleading for a write endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, but that brevity comes from under-specification rather than discipline; nothing is front-loaded about the create operation, and no useful information survives.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create endpoint with a fully untyped body and no output schema, the description should at minimum identify the required payload fields and the creation semantics. None of this is present, so an agent cannot reliably invoke the tool from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'body' parameter is an untyped object with additionalProperties: true, so the schema conveys nothing about its contents. The description gives no hint about what fields the payload requires, leaving the caller with no way to construct a valid request.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST-Framework boilerplate ('API endpoint that allows managed documents to be viewed or edited') that never states the operation is a creation. It restates the resource name from the title while mischaracterizing the verb, so an agent cannot tell from the text that this creates a managed document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus the many sibling tools such as ciso_assistant_api_managed_documents_create_new_draft_create, _update, _partial_update or _batch_action_create. No prerequisites, no exclusions, no alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_managed_documents_create_new_draft_createApi managed documents create new draft createB
Create a new draft revision cloned from the current revision.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=false, idempotent=false, so the safety profile is covered. The description adds meaningful behavior – the new draft is cloned from the current revision – but does not say what happens to the existing revision, whether the draft is editable, or what permissions/state preconditions apply, so it is useful but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, and the core action plus cloning semantics are front-loaded so an agent can grasp the tool at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter mutation tool with no output schema, the description covers the essential action, but it omits any explanation of the id parameter and does not describe what the draft result looks like or any preconditions, leaving gaps an agent would have to probe.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required string parameter 'id' with 0% schema description coverage, and the description never mentions it. It only implicitly suggests the id identifies the managed document whose current revision is cloned; it does not state whether it is the document id, revision id, or ref, leaving a real ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Create a new draft revision') plus the key mechanism ('cloned from the current revision'), which lets an agent distinguish this from plain managed-document creation. It does not name any sibling tool explicitly, keeping it 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The cloning behavior implies the intended context (starting a new revision on an existing managed document), but there is no explicit when-to-use/when-not guidance and no reference to alternatives such as the generic managed_documents_create or document_revisions_create endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_managed_documents_destroyApi managed documents destroyDDestructiveIdempotent
API endpoint that allows managed documents to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=true, yet the description says the endpoint allows documents to be 'viewed or edited'. That is a direct contradiction of the destructive semantics: it hides the permanence of the delete and implies a safe read/mutate operation. No permissions, cascade effects, or irreversibility are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is not bloated. However, its brevity comes from being generic auto-generated text rather than front-loaded, purposeful content, so the size does not earn it a higher score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive single-parameter delete with no output schema, the description should at minimum state that the document is permanently removed and note any preconditions (e.g. existence of revisions, folder permissions). Instead it supplies nothing about consequences and mischaracterizes the operation, leaving the agent dependent on the annotations alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes one required parameter (id) at 0% schema description coverage, and the description says nothing about it. The schema only gives type string, so an agent must infer that this is the managed document identifier and where to obtain it. The description adds zero meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (managed documents) but states the wrong action: 'viewed or edited' rather than deletion. The tool name says 'destroy' and the annotations say destructiveHint=true, so an agent reading only the description would form the wrong expectation. This is boilerplate that fails to state what the tool actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives (e.g. managed_documents_partial_update for edits, managed_documents_retrieve for viewing), and no warning that this permanently removes a document. Worse, 'viewed or edited' actively suggests usage that this endpoint does not support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_managed_documents_listApi managed documents listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| locale | No | ||
| offset | No | ||
| policy | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| document_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is covered. The description adds nothing beyond that and actually obscures behavior with a developer-facing note about serializer context injection; 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here comes from being an internal note rather than a distilled user-facing summary; the one sentence carries no actionable content for a caller.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A ten-parameter list endpoint with no output schema, no parameter docs, and no useful description is severely under-specified. The agent cannot know how to filter, paginate, or interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Ten parameters with 0% schema description coverage, and the description explains none of them. Filtering fields like folder, policy, document_type, search, locale, ordering, and paging (limit/offset/max_pages) are completely undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal implementation footnote ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does for a caller. Only the tool name implies it lists managed documents; the description itself never says it retrieves/lists documents or what data is returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the many sibling alternatives (e.g. managed_documents_retrieve, object_retrieve, templates_retrieve). The agent has no basis for choosing this over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_managed_documents_object_retrieveApi managed documents object retrieveCRead-onlyIdempotent
API endpoint that allows managed documents to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, but the description says the endpoint allows managed documents to be 'viewed or edited,' implying mutation. With annotations present, the description should add precision rather than contradict the declared 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no padding. It is concise, though its brevity contributes to the ambiguity rather than resolving it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should clarify what is returned, but it only says documents can be 'viewed or edited.' It lacks the single-record retrieval context, parameter meaning, and an accurate read-only characterization.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole required parameter 'id' has 0% schema description coverage, and the description does not explain what the id identifies, its expected format, or whether it is a UUID, slug, or numeric identifier. With one obvious parameter, this is not completely absent, but it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the endpoint name with vague wording: 'allows managed documents to be viewed or edited.' It does not clearly say this retrieves a single managed document by identifier, nor distinguish it from siblings such as managed_documents_retrieve, managed_documents_list, or managed_documents_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like managed_documents_list or managed_documents_retrieve. The intended usage is only implied by the tool name and common REST conventions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_managed_documents_partial_updateApi managed documents partial updateC
API endpoint that allows managed documents to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true, so the safety profile is covered. The description adds nothing actionable and its 'viewed or edited' wording misleadingly implies a read capability for a write-only endpoint. No mention of patch semantics, required permissions, or effect on unreferenced fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, so nothing is bloated, but the sentence is boilerplate that conveys no distinguishing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 0% schema documentation, no output schema, and an opaque object payload, the description should explain PATCH behavior, what 'body' contains, and what a successful response returns. None of that is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description mentions no parameters. The 'body' parameter is a free-form nullable object whose structure is entirely undocumented anywhere, and the required 'id' is never mentioned or qualified (format/type).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource (managed documents) but the verb is generic 'viewed or edited', which does not identify this as a partial (PATCH) update. Against siblings like managed_documents_update, managed_documents_retrieve and managed_documents_list, an agent cannot tell what this endpoint uniquely does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use partial_update versus update (full replace) or retrieve; no prerequisites, no mention that only the supplied fields are modified. The agent must infer everything from the tool name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_managed_documents_retrieveApi managed documents retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, open-world behavior. The description adds that unauthorized related fields are masked, which is useful auth-dependent output context beyond the annotations. No contradiction is present, though permission details remain unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence with no filler, and the masking caveat is front-loaded. However, its brevity contributes to under-specification rather than to clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieve-by-id tool, the description still omits the resource name and the meaning of id, and gives no usage context. Annotations cover safety, but the definition is not complete enough to call correctly without relying on the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the only parameter is an undocumented id string. The description never says the id identifies a managed document or explains accepted format or scope, so it adds no parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Return a single object' but never identifies the resource as a managed document; that purpose is only inferable from the tool name/title. It is vague and does not distinguish this tool from sibling retrieve/list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus managed_documents_list, managed_documents_object_retrieve, or other retrieve variants. The agent receives no routing guidance or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_managed_documents_templates_retrieveApi managed documents templates retrieveBRead-onlyIdempotent
List available document templates. Accepts optional ?lang= query parameter.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds that results can be localized via a lang query parameter, which is genuine behavioral context, but says nothing about result size, ordering, or whether built-in and custom templates are mixed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, the action is front-loaded, and the optional parameter is noted second. Nothing is redundant or wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter listing endpoint with no output schema, the description should still hint at what a template record contains or how results are shaped. That gap, plus the lang parameter appearing in prose but not in the schema, leaves the definition slightly under-specified for an openWorld endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty, so the description carries the entire parameter burden and does disclose an optional ?lang= query parameter that the schema omits. It does not state the accepted values or format for lang (e.g. ISO codes), leaving a small gap, but this is still meaningful added meaning over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List available document templates'), which distinguishes it from the sibling ciso_assistant_api_managed_documents_list that deals with documents rather than templates. It does not explicitly name that sibling, so differentiation is inferable rather than spelled out.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the managed-documents list/create endpoints, nor any prerequisite or context. An agent must infer from the name alone that templates are a separate catalog used before instantiating documents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_managed_documents_updateApi managed documents updateCIdempotent
API endpoint that allows managed documents to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
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 safety profile is covered. The description adds nothing beyond that: it does not say whether the body replaces or merges the document, what permissions are required, or what happens to omitted fields — the key behaviors for an update operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no wasted words, but it is under-specified rather than efficient — the brevity comes at the cost of all useful content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with no output schema and a fully undescribed free-form body payload, the definition leaves the agent unable to construct a valid call. Only the annotations give any behavioral footing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the body parameter is an opaque anyOf object with no declared properties, so the schema tells the agent nothing about acceptable fields. The description does not compensate at all — it never mentions id or body, or what content the body should carry.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint that allows managed documents to be viewed or edited" restates the endpoint name rather than stating that this tool updates an existing managed document identified by id. The phrase "viewed or edited" describes a ViewSet generically and does not tell an agent why to pick update over create, partial_update, or retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given, and no sibling is named even though partial_update, update, create, and retrieve all exist alongside it. The agent must infer the PUT-vs-PATCH distinction entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_managed_documents_upload_image_createApi managed documents upload image createC
Upload an image file and attach it to this document.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a non-read-only, non-idempotent, non-destructive write, and the description adds nothing beyond that: no accepted image formats, size limits, whether an existing image is replaced, or permission requirements. Most critically, the schema exposes only 'id' and there is no 'file' property, yet the description never explains that the image is supplied as a separate multipart payload, which is the single behavior an agent most needs here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, so there is nothing to trim, but for a file-upload endpoint the brevity crosses into under-specification rather than efficiency. The core action is front-loaded, which is good.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one undocumented parameter, no output schema, and an obvious but unmentioned file payload, the description does not give an agent enough to invoke this tool correctly. It should at minimum state which object the id refers to and how the binary is transmitted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter ('id') has 0% schema description coverage, and the description does not say what it identifies (the managed document to attach to) or what type/format is expected. It also fails to clarify how the image file itself is passed, so the description compensates for neither the coverage gap nor the missing payload parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Upload an image file') plus resource and outcome ('attach it to this document'), so an agent can tell this is an image-attachment write. It does not distinguish itself from the near-identical siblings ciso_assistant_api_frameworks_upload_image_create and ciso_assistant_api_requirement_nodes_upload_image_create, however, so the target-resource distinction has to be inferred from the phrase 'this document'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites (the managed document must already exist), and no pointer to alternatives such as document_attachments_create. The only implied context is the phrase 'this document', which suggests but does not state that a document id is required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_mapping_libraries_listApi mapping libraries listDRead-onlyIdempotent
api_mapping_libraries_list
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| locale | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| packager | No | ||
| provider | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered by structured data. The description adds nothing about pagination behavior, whether the listing spans the whole catalog or is filtered by provider/packager, or what a result entry looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely short, but the brevity is under-specification rather than economy — the single token carries no usable information and is not front-loaded with anything an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list endpoint with eight undocumented optional parameters, no output schema, and no description, an agent cannot know what the tool returns, how pagination works, or how to filter. Nothing compensates for the schema coverage gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Eight parameters (limit, offset, locale, search, ordering, packager, provider, max_pages) have zero schema description coverage, and the description supplies no meaning for any of them. Fields like packager, provider, locale, and max_pages are non-obvious and remain entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the snake_case tool name repeated as prose, adding no verb, resource scope, or object detail beyond what the name and title already convey. It reads as a tautology rather than an explanation of what a 'mapping library' is or what listing one returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus alternatives such as ciso_assistant_api_stored_libraries_list, ciso_assistant_api_requirement_mapping_sets_list, or ciso_assistant_api_frameworks_list, all of which are plausible siblings. No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_builtin_metric_samples_batch_action_createApi metrology builtin metric samples batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false and destructiveHint=false. The description adds only the word 'batch', and says nothing about which actions exist (delete/update/assign?), whether the operation is atomic on partial failure, or what permissions are required — all critical for a non-idempotent mutation endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, but the brevity comes from under-specification rather than tight writing; the one clause present carries almost no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, non-read-only bulk mutation on a specific metrology resource, with no output schema and an empty input schema, the description leaves the agent without action names, target selection, failure semantics, or return shape. It is not complete enough to invoke confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter count is 0, but the schema is closed (additionalProperties=false) with no properties, which means the agent has no stated way to say WHICH objects or WHICH action to apply. Baseline for zero params would be 4, but here the description should have compensated by explaining the expected action/ids payload, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Perform a batch action on multiple objects' — it never names the resource (builtin metric samples) that the tool name and title identify. Identical wording is reused across dozens of sibling *_batch_action_create tools, so an agent cannot distinguish this one from ciso_assistant_api_findings_batch_action_create or any other batch tool without reading the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use a batch action instead of the single-object tools in the sibling list (create/destroy/partial_update), nor any prerequisite or precondition. The phrase 'multiple objects' implies a bulk use case but no exclusion or alternative is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_builtin_metric_samples_cascade_info_retrieveApi metrology builtin metric samples cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 known without the description. The description adds nothing about what the preview contains (counts, dependent objects, blocking relationships) or its format, leaving the actual behavior of the endpoint undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words ending in a colon; it is not verbose but severely under-specified rather than concise. Nothing is front-loaded because there is essentially no content to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a required identifier, no output schema, and a family of near-identical cascade_info siblings, the description provides none of the information an agent needs to decide to call it or to supply a correct id.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required parameter `id`, and the description says nothing about it — not whether it identifies the metric sample, the metric definition, or the object being cascaded. The description fully fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare fragment, "Cascade preview:", with no verb and no resource named. It hints at previewing cascade effects but never says effects on what (the builtin metric sample identified by id), nor how it differs from the many sibling *_cascade_info_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all — no mention of calling this before a delete, no alternative such as the samples_retrieve or samples_object_retrieve siblings, and no prerequisites. The agent must infer everything from the name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_builtin_metric_samples_createApi metrology builtin metric samples createD
api_metrology_builtin_metric_samples_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, so the mutating, non-idempotent profile is conveyed structurally. The description contributes nothing about what gets created, required auth, or side effects; it neither adds value nor contradicts 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is empty – the single identifier token conveys no information. Under-specification rather than conciseness; there is nothing front-loaded to act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A create/mutation tool with an unconstrained object body, no annotations explaining payload behavior, and no output schema leaves the agent with nothing to construct a valid call. The description should at minimum indicate the sample payload fields and what the call returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'body' parameter is an untyped free-form object with 0% schema description coverage, and the description provides no information about its shape or fields. An agent has no way to know what payload to send.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim, 'api_metrology_builtin_metric_samples_create', which restates the title without adding a verb/resource explanation. It gives no hint that this creates a builtin metric sample, nor how it differs from the sibling custom_metric_samples_create or from the batch_action_create variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings like ciso_assistant_api_metrology_builtin_metric_samples_batch_action_create, _refresh_create, or _custom_metric_samples_create. Nothing indicates prerequisites such as which object a sample attaches to.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_builtin_metric_samples_destroyApi metrology builtin metric samples destroyDDestructiveIdempotent
api_metrology_builtin_metric_samples_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the description is not required to carry the safety profile. It nonetheless adds nothing beyond the name — no note about what is removed, whether dependent dashboard widgets break, or what happens on deleting a non-existent id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is no redundancy because there is no content — the string is an identifier echo, not a sentence. This is under-specification rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive mutation with no output schema and zero parameter documentation requires the description to explain target identification and side effects. Nothing is provided, so an agent cannot confidently invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the description should explain what the id refers to. It provides no parameter information at all, leaving the agent to guess whether it is a sample UUID, a metric definition reference, or a composite key.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name with underscores, restating the identifier rather than explaining the operation. An agent must parse 'metrology_builtin_metric_samples_destroy' itself to infer that a single built-in metric sample record is deleted.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus alternatives such as ciso_assistant_api_metrology_builtin_metric_samples_batch_action_create or the custom-metric-samples destroy sibling. No prerequisites, no exclusions, no warnings about irreversible deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_builtin_metric_samples_for_object_retrieveApi metrology builtin metric samples for object retrieveCRead-onlyIdempotent
api_metrology_builtin_metric_samples_for_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorld, so the safety profile is known. The description adds no behavioral context at all — not what is fetched, whether the sample set is refreshed or cached, or whether 'builtin' implies read-only system data. No contradiction, but zero added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one underscore-joined identifier, so there is no wasted prose, but that is under-specification rather than conciseness. Nothing is front-loaded because there is no content to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema and no real description, an agent has no way to know what this endpoint returns or when it should be preferred over the many sibling metrology read endpoints. The identifier alone cannot substitute for a description here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema carries no semantic burden and there is nothing for the description to clarify. Baseline 4 applies for a 0-param tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim, restating the identifier rather than explaining it. An agent can parse 'metric samples for object' out of the slug, but there is no verb, no statement of what is returned or which object is meant, and nothing distinguishing it from the sibling '..._retrieve', '..._object_retrieve', or '..._list' endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of any alternative. In a family with at least five near-identical read siblings (retrieve, object_retrieve, list, cascade_info_retrieve, supported_models_retrieve), the agent is given nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_builtin_metric_samples_listApi metrology builtin metric samples listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| date | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| object_id | No | ||
| content_type | No |
TDQS
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 covered. The description adds no caller-relevant behavior at all (no pagination, filtering, or scope notes) — it only mentions an internal 'serializer context' optimization, which is developer-facing and of no value to an agent choosing or calling the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so not bloated, but the one sentence is wasted on internal implementation detail rather than front-loading the tool's purpose. Brevity without information is under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With nine undocumented parameters, no output schema, and no user-facing description, an agent cannot know what data comes back or how to scope the query. For a list endpoint of this complexity the description is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Nine parameters (id, date, limit, offset, search, ordering, max_pages, object_id, content_type) with 0% schema description coverage. The description gives no meaning for any of them, so an agent must guess the semantics of every filter and paging argument.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence is an internal implementation note ('override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does for a caller. It never names the resource (built-in metric samples) or says it returns a list of records; only the tool name/title carry that, so it effectively restates internals instead of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or how it differs from siblings such as metrology_custom_metric_samples_list or metrology_builtin_metric_samples_for_object_retrieve. The description offers nothing an agent could use for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_builtin_metric_samples_object_retrieveApi metrology builtin metric samples object retrieveDRead-onlyIdempotent
api_metrology_builtin_metric_samples_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 structurally. The description contributes nothing additional — no note on what the sample contains, whether it 404s for unknown ids, or how 'object' scoping differs from the plain retrieve sibling. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but short by under-specification rather than by efficiency. There is no front-loaded statement of action or scope to anchor the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameter documentation, annotations carrying the entire behavioral load, and an identifier-only description, an agent has essentially no basis for deciding to call this tool or for interpreting its result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter (`id`) with 0% schema description coverage — its type string is the only clue. The description adds no meaning about whether this is a database id, a metric sample UUID, or a composite key, so the parameter remains ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name echoed back in snake_case ('api_metrology_builtin_metric_samples_object_retrieve'), which is a tautology rather than a statement of purpose. An agent learns nothing beyond what the identifier already encodes, and nothing distinguishes it from siblings like `..._builtin_metric_samples_retrieve` or `..._for_object_retrieve`.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. Given the dense cluster of near-identical metrology sample endpoints (list/retrieve/object_retrieve/for_object_retrieve), the absence of any routing guidance is a serious gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_builtin_metric_samples_partial_updateApi metrology builtin metric samples partial updateD
api_metrology_builtin_metric_samples_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false, but the description adds nothing: no statement of what 'partial update' modifies, whether unspecified fields are preserved, or what the response is. Zero value beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it conveys nothing; there is no front-loaded purpose or useful content. Brevity here reflects under-specification rather than efficient structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations covering semantics, no output schema, and a free-form body parameter, the description provides none of the context needed to call it correctly. It is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the two parameters (id and an opaque body object with additionalProperties:true) are entirely undocumented. The description does nothing to explain the id or the untyped body payload, leaving an agent unable to construct a valid call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The 'description' is only the snake_case tool identifier repeated verbatim. It restates the name rather than describing what the operation does, so no verb/resource/scope is articulated beyond what the name already implies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is zero guidance on when to use this tool versus siblings like ..._update, ..._create, or ..._partial_update. Nothing indicates prerequisites, exclusions, or alternative selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_builtin_metric_samples_refresh_createApi metrology builtin metric samples refresh createD
api_metrology_builtin_metric_samples_refresh_create
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false and openWorldHint=true, so a write with external effects is already signalled structurally; the description adds nothing about what is refreshed, whether existing samples are replaced, or what an open-world call might reach out to. It also fails to explain why the operation is non-idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is one identifier fragment with no sentence structure and no front-loading of intent. It is short, but this is under-specification posing as brevity rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations explaining side effects, no output schema, and no parameter documentation, the description is the only place an agent could learn what this refresh does — and it supplies nothing. An agent cannot safely decide to invoke a non-idempotent, open-world mutation on this basis.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema coverage is 100%, so there is nothing for the description to disambiguate. Baseline 4 applies for a parameterless operation; the gap here lies in behavioral scope, not parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw tool identifier repeated verbatim ("api_metrology_builtin_metric_samples_refresh_create") rather than prose. An agent can only reverse-engineer intent from the snake_case name; nothing states what resource is refreshed, from what source, or with what effect. This is tautology, not a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no reference to any sibling despite dozens of adjacent metrology tools (builtin_metric_samples_create, _list, _retrieve, _batch_action_create). Nothing distinguishes this refresh action from a normal create or a batch action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_builtin_metric_samples_retrieveApi metrology builtin metric samples retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds one genuinely useful trait beyond that: unauthorized related fields are masked, so output is permission-dependent. It says nothing about error behavior (e.g., unknown id), pagination, or what the object contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, so it is efficient, but it is under-specified rather than concise; the one useful fact (field masking) is not front-loaded alongside any statement of what is being fetched.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a retrieve-by-id tool with no output schema and a completely undocumented parameter, so the description carries the full burden. Aside from the masking note, it omits the resource identity, the ID semantics, and what a caller gets back, leaving the agent guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter 'id' with 0% description coverage, and the description never mentions it – no indication of whether it is a numeric PK, UUID, or ref string. 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a retrieval of "a single object" but never names the resource (builtin metric sample) or says it is keyed by ID; the resource is only inferable from the tool name. It does distinguish itself somewhat from the list/for_object siblings by emphasizing a single object, but the purpose is vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives such as ciso_assistant_api_metrology_builtin_metric_samples_list or _for_object_retrieve, which the agent must choose between. Nothing indicates prerequisites for the lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_builtin_metric_samples_supported_models_retrieveApi metrology builtin metric samples supported models retrieveCRead-onlyIdempotent
api_metrology_builtin_metric_samples_supported_models_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so safety behavior is covered elsewhere. The description adds nothing beyond them — no indication of what 'supported models' means, whether results are static enumeration data or per-object, or what the response contains. It does not contradict the annotations, but it contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The 'description' is a single unbroken identifier rather than prose, so there is no front-loading, no sentence structure, and no scannable information. It is short but only because it conveys nothing beyond the name field.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is the only place a reader could learn what this endpoint returns, and it provides nothing — the meaning of 'supported models' in the metrology domain is left entirely unexplained. For a zero-param read endpoint the bar is low, but this falls short of even that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify; the empty schema is complete and unambiguous. Baseline for 0 params applies, with a slight ding only because no clarifying context accompanies the empty input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool identifier verbatim ('api_metrology_builtin_metric_samples_supported_models_retrieve') with no added natural-language statement of what it does. An agent can infer a read of supported models under metrology from the name alone, but the description itself is a tautological restatement rather than a purpose statement, and it does nothing to distinguish this from the many sibling metrology retrieve endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, when not to, or which sibling to prefer (e.g. builtin_metric_samples_list vs. builtin_metric_samples_retrieve vs. builtin_metric_samples_for_object_retrieve). The agent must guess from naming conventions alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_builtin_metric_samples_updateApi metrology builtin metric samples updateDIdempotent
api_metrology_builtin_metric_samples_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds nothing further — no mention of what the body overwrites, whether unspecified fields are cleared, auth requirements, or side effects of updating builtin (possibly system-managed) samples.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is under-specified rather than efficient; there is no front-loaded statement of purpose or scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with no output schema, an undocumented free-form body, and no annotations explaining semantics beyond generic hints. An agent cannot confidently construct a correct call from this definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters, so the description must compensate and instead says nothing. The required 'id' and an opaque 'body' anyOf object with no documented fields leave the agent guessing what a builtin metric sample payload looks like.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the snake_case tool name repeated verbatim, restating 'api_metrology_builtin_metric_samples_update' with no added verb/resource explanation. An agent can infer a PUT-style update of builtin metric samples from the name alone, but the description itself contributes nothing beyond that.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus ciso_assistant_api_metrology_builtin_metric_samples_partial_update (PATCH) or _create. The update-vs-partial_update distinction is a real trap here and the description is silent on it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_custom_metric_samples_batch_action_createApi metrology custom metric samples batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so safety is partly covered. The description adds nothing: it doesn't say what actions are permitted (delete? update? field set?), whether the operation is all-or-nothing, or what permissions are required — significant for a non-idempotent mutation endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, but its brevity reflects under-specification rather than economy. It fits in one line but doesn't earn its place by conveying anything the tool name already implies.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Zero parameters, no output schema, and a mutation annotation profile mean the description carries the full burden, and it doesn't. An agent cannot tell what objects are affected, what the request body should contain, 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter count is 0, which normally warrants a baseline 4, but the schema is a closed empty object (`additionalProperties: false`), so the description is the only place that could explain the action/ids payload the endpoint surely needs. It says nothing about that, leaving the calling convention undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Perform a batch action on multiple objects" restates the generic idea of a batch endpoint but never names the resource (metrology custom metric samples) or what a "batch action" is. Against ~100 sibling `*_batch_action_create` tools, this gives an agent no way to distinguish it from the others.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this endpoint versus the per-object `partial_update`/`destroy`/`create` siblings, nor any prerequisite or exclusion. The agent must infer bulk semantics from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_custom_metric_samples_cascade_info_retrieveApi metrology custom metric samples cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 covered. The word "preview" weakly implies a non-mutating inspection, but the description never says what a cascade is here, what objects would be affected, or what the preview reports back.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words with no wasted phrasing, but the terseness is under-specification rather than concision. There is no front-loaded verb, object, or scope for an agent to act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and an undocumented parameter, the description should explain what the preview returns and how to interpret the id. Neither is present, so nothing beyond the annotations and the tool name is available to the caller.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description supplies nothing about the single `id` parameter — not whether it refers to the custom metric sample itself or to a related parent object whose cascade is being previewed. This is exactly the ambiguity the description needed to resolve and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" only gestures at a concept (some kind of cascade preview) without naming the resource or the operation. The resource (custom metric samples) and the retrieve semantics live only in the machine-generated tool name and title, so the description is close to a restatement of the title with a colon.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to call this rather than the sibling list/retrieve/object_retrieve endpoints, no prerequisite about deletion, and no note that a preview should precede a destroy call. An agent gets no routing signal at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_custom_metric_samples_createApi metrology custom metric samples createD
api_metrology_custom_metric_samples_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true, so the safety profile is covered, but the description adds literally nothing on top: no statement of what is created, required auth, or side effects. A bare name repetition adds zero behavioral context even at the lower bar set by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically short, but this is under-specification rather than conciseness: the single string is the tool name, so there is nothing front-loaded and no information to be efficient with.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a mutation tool, a completely opaque 'body' parameter, no output schema, and annotations that only cover safety hints, the description would need to carry substantial payload and behavior information. It provides none, so the definition is inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter ('body') that is a free-form anyOf object/null with 0% schema description coverage and no nested structure documented. The description does not explain what fields the body must contain or what a valid sample payload looks like, leaving the agent with no way to construct a correct call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool's identifier repeated: 'api_metrology_custom_metric_samples_create'. It does imply a create action on custom metric samples, but that verb+resource is already encoded in the name, so there is no added clarity and no differentiation from the many sibling metrology_* and *_create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool, what preconditions apply, or how it relates to siblings like ciso_assistant_api_metrology_custom_metric_samples_batch_action_create or _update. An agent must infer everything 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.
ciso_assistant_api_metrology_custom_metric_samples_destroyApi metrology custom metric samples destroyDDestructiveIdempotent
api_metrology_custom_metric_samples_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, readOnlyHint=false and openWorldHint=true, so the safety profile is not the description's burden and there is no contradiction. However the description adds zero behavioral context: no statement of what gets destroyed, whether deletion cascades to related samples or dashboards, or whether it is recoverable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One token, identical to the name, with no front-loaded explanation of anything. This is under-specification rather than conciseness — there is no sentence structure to evaluate and nothing that earns its place beyond the identifier already shown to the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world, one-parameter mutation with no output schema and no annotation explanation of consequences, the description provides nothing an agent needs to invoke it safely. It omits scope, effect, reversibility, and prerequisites entirely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required 'id' parameter carries no description of its own. The description does not say what the id identifies (a custom metric sample vs. a metric definition) or what form it takes, so the one parameter an agent must supply is entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim: 'api_metrology_custom_metric_samples_destroy'. It restates the identifier rather than explaining what the tool does, so it is a tautology by the rubric's definition. The 'destroy' token lets an agent infer deletion of a custom metric sample, but nothing in the text confirms or elaborates that.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance whatsoever. With ~20 sibling metrology tools (list, retrieve, create, update, partial_update, batch_action, cascade_info) the description offers no signal for choosing destroy over, say, partial_update or the batch_action variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_custom_metric_samples_listApi metrology custom metric samples listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| metric_instance | No | ||
| evidence_revision | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so safety is covered structurally. The description adds no behavioral context at all: nothing about pagination semantics (limit/offset/max_pages), whether it auto-paginates, or what the returned sample shape contains, despite there being no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence spends its words on an irrelevant implementation detail rather than front-loading purpose, filters, or usage. Brevity here reflects under-specification rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nine-parameter list endpoint with no output schema and only annotation-level hints, the description is effectively absent: no resource definition, no filter semantics, no pagination behavior, no relation to metric_instances or evidence_revisions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Nine parameters (id, limit, folder, offset, search, ordering, max_pages, metric_instance, evidence_revision) have 0% schema description coverage, so the description carries the full burden — and it explains none of them. Terms like metric_instance and evidence_revision are left completely undefined in both schema and prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a Django implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does. It never says it lists custom metric samples, so an agent must infer the resource from the tool name/title alone and gets no differentiation from the builtin_metric_samples_list sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the closely related ciso_assistant_api_metrology_custom_metric_samples_retrieve / object_retrieve / builtin variants, and no prerequisites. The only sentence describes internal serializer plumbing, which gives the agent nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_custom_metric_samples_object_retrieveApi metrology custom metric samples object retrieveCRead-onlyIdempotent
api_metrology_custom_metric_samples_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that – no statement of what object is returned, whether authorization scoping applies, or what happens when the id does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity is under-specification rather than concision – the only content is a restatement of the machine identifier, so no sentence conveys information an agent could not already read off the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve-by-id endpoint with no output schema, the description should at minimum say what resource is returned and what the id refers to. Neither is present, so the definition is not sufficient on its own even though annotations supply the read-only safety profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter 'id' with 0% schema description coverage, and the description does not say what kind of id it is (UUID, integer-as-string, composite key) or where to obtain it. The single sentence carries no parameter meaning at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name with underscores swapped for spaces: 'api_metrology_custom_metric_samples_object_retrieve'. It restates the identifier rather than explaining in plain language that it fetches a single custom metric sample by id, and it offers no differentiation from sibling tools such as ..._custom_metric_samples_retrieve, ..._list or ..._object_retrieve used by other resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus ..._custom_metric_samples_retrieve, ..._custom_metric_samples_list, or ..._custom_metric_samples_for_object_retrieve (a sibling pattern that exists for builtin samples). No prerequisites or context are given; the agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_custom_metric_samples_partial_updateApi metrology custom metric samples partial updateD
api_metrology_custom_metric_samples_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, and the description adds nothing beyond them. It does not say what fields the partial update accepts, what happens to unspecified fields, whether permissions are required, or what the response looks like, while for a mutation tool this context is essential.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single phrase contains no waste, but its brevity reflects under-specification rather than efficiency. There is no front-loaded purpose statement, so nothing is earned by the length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write operation with an untyped body object, no output schema and no annotation coverage of payload semantics, the description is completely inadequate. An agent has no way to know what a 'custom metric sample' is, what a partial update body should contain, or how it differs from the create/update siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description provides no parameter information at all. The 'body' parameter is an untyped free-form object (anyOf object/null, additionalProperties true) with no documented shape, and the 'id' path parameter is entirely unexplained. The description neither explains the body envelope convention nor names any updatable field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the operation identifier repeated verbatim ('api_metrology_custom_metric_samples_partial_update'), which restates the name and title rather than describing what the tool does. An agent can only infer 'partially update a custom metric sample' by parsing the machine-generated name itself. It offers no elaboration on what a custom metric sample is or what a partial update means here.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus the many siblings, such as metrology_custom_metric_samples_update (full update) or metrology_custom_metric_samples_create. No prerequisites, no exclusions, no context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_custom_metric_samples_retrieveApi metrology custom metric samples retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the description's job is narrower, and it delivers a genuinely non-obvious trait: related fields the caller is not authorized to see are masked in the response rather than erroring. It doesn't say whether masking is shape-preserving or what a missing id returns, but the disclosure is real added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, but the brevity comes from omission rather than discipline: the one sentence spends its budget on response masking while leaving purpose and the id parameter unaddressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a by-id read with an undocumented parameter and no output schema, the description should at minimum identify the entity, the id semantics, and what the returned object broadly contains. None of that is present, and the relationship to the custom vs builtin metric sample families is unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter (id) with 0% schema description coverage, so the description carries the full burden and provides nothing — not the id's type/format, nor whether it identifies a sample, a metric instance, or a metric definition. A caller cannot tell what to pass from the definition alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it returns "a single object" without naming the resource (a custom metric sample). The resource is identifiable only from the tool name; the description itself conveys the return cardinality and nothing about what is retrieved, and it does not distinguish this from the sibling list/object_retrieve/cascade_info variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all: nothing explains how this differs from custom_metric_samples_list, _object_retrieve, or the builtin_metric_samples equivalents. The agent must infer from the name that this is a by-id fetch, with no stated preconditions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_custom_metric_samples_updateApi metrology custom metric samples updateDIdempotent
api_metrology_custom_metric_samples_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=false, idempotentHint=true, openWorldHint=true, destructiveHint=false, so the safety profile is known without the description. The description adds no context whatsoever about what gets mutated, required permissions, or side effects, so there is no value beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short string with no waste, but that is because it contains no information rather than because it is economical. Under-specification, not conciseness, is the problem.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with a free-form body, no output schema, no annotations explaining semantics, and zero parameter documentation. Nothing tells an agent what a custom metric sample is, what fields the body accepts, or what the response contains; the definition is unusable for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and both parameters are opaque: 'id' is an untyped string and 'body' is a free-form object with additionalProperties true. The description does not name any field, clarify whether 'body' is a full replacement vs. patch, or indicate the sample payload shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool's snake_case name repeated back ('api_metrology_custom_metric_samples_update'), with no verb, resource, or scope stated in natural language. An agent can guess it updates custom metric samples from the name alone, but the description itself adds nothing 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance at all on when to use this tool versus the many siblings (custom_metric_samples_create, partial_update, update, batch_action_create, etc.). The distinction between 'update' and 'partial_update' in particular is left entirely to inference from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_dashboards_batch_action_createApi metrology dashboards batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose the safety profile (not read-only, not idempotent, open-world, not destructive), so the bar is lower, but the description adds nothing: it doesn't say which actions are supported, whether the operation is reversible, or what happens to the affected dashboards.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded sentence with no wasted words, but this is under-specification rather than conciseness — the brevity leaves the agent with nothing actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, an empty input schema, and only generic safety annotations; the description would need to carry the meaning of the batch operation and its payload, and it does not. An agent cannot reliably invoke this tool from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero declared parameters gives a baseline of 4, but the schema is an empty object with additionalProperties:false, meaning the tool as published takes no payload at all — a batch action with no ids or action selector is unusable, and the description offers no compensating explanation of what should be supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Perform a batch action on multiple objects' restates the name pattern without naming the resource (metrology dashboards) or the action(s) available. Many sibling tools share the same *_batch_action_create suffix, so this description does nothing to distinguish it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many sibling batch_action tools, nor versus the plain metrology_dashboards_update/destroy endpoints. Nothing indicates prerequisites, required role, or what a 'batch action' selects on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_dashboards_cascade_info_retrieveApi metrology dashboards cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered structurally. The phrase "Cascade preview" faintly suggests this returns a preview of downstream impact (likely related to deletion), but it does not say what the preview contains, whether it is advisory only, or how it relates to the mutate operations it presumably guards. With annotations present the bar is lower, but this adds almost no context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness: a two-word fragment ending in a colon with nothing following it. Nothing is front-loaded because there is no content to load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations covering semantics, the description carries the full explanatory burden for a tool whose entire purpose (previewing cascade effects) is undefined. Neither the return shape nor the meaning of the id is addressed, so an agent cannot call it with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required `id`, so the schema gives only `type: string`. The description does not say which object the id identifies (a metrology dashboard, a widget, or something else), nor what format is expected, leaving the agent to infer the identifier's referent entirely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a noun fragment, not a statement of what the tool does. The name implies it returns preview information about cascading effects on a metrology dashboard, but the description itself never says the verb, the resource, or what a "cascade" means here, and it does not distinguish this from the ~100 other *_cascade_info_retrieve siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to call this versus metrology_dashboards_retrieve, metrology_dashboards_object_retrieve, or metrology_dashboards_destroy. An agent has no basis to select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_dashboards_createApi metrology dashboards createD
api_metrology_dashboards_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations-level safety conflicts exist (readOnlyHint=false is consistent with 'create'), but the description adds zero behavioral context: it doesn't say what a dashboard body contains, whether creation is idempotent (annotations say it is not), or what side effects a create has on the open-world API.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it says nothing; this is under-specification rather than conciseness. There is no front-loaded purpose statement beyond the echoed name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with a 0%-documented free-form body, no output schema, and no annotations beyond generic hints. The description provides nothing an agent needs to call it correctly, so the definition is effectively unusable for selection or invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single 'body' parameter is an untyped free-form object with no documented fields. The description supplies no information about what the body should contain, leaving the agent with a completely opaque payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's own identifier restated verbatim ('api_metrology_dashboards_create'), which is tautological. An agent can infer a create operation on metrology dashboards only from the name itself, and the description does nothing to distinguish it from siblings like metrology_dashboards_batch_action_create or dashboard_widgets_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool, what prerequisites exist, or which sibling to prefer for related operations. The string contains no guidance of any kind.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_dashboards_destroyApi metrology dashboards destroyDDestructiveIdempotent
api_metrology_dashboards_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so safety is covered structurally. The description adds zero context on what gets destroyed, whether child widgets/dashboard_widgets are cascaded, or whether the operation is recoverable — a missed opportunity for a destructive endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity comes from under-specification rather than economy: a bare identifier string conveys no actionable information and is not front-loaded with any purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema and an undocumented required id, the description is entirely absent as a source of guidance; an agent has nothing beyond annotations and the raw operation name to act on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter ('id') with 0% schema description coverage, and the description says nothing about it — no indication that it is the dashboard's identifier or its format. Below the 0-param baseline because the single undocumented parameter must be understood from the name alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation id repeated verbatim ('api_metrology_dashboards_destroy'), which only indirectly implies deleting a metrology dashboard. It never states the verb+resource in prose and gives no differentiation from the many sibling destroy endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus alternatives, no prerequisites, and no mention of what state the target must be in before deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_dashboards_listApi metrology dashboards listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| filtering_labels | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds no meaningful behavioral context beyond an internal note about serializer context injection, which is not useful to an agent invoking the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, but it is an internal implementation note rather than a front-loaded explanation of the tool's function. Brevity without useful content leaves the agent under-informed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 undocumented parameters, no output schema, and a description focused on serializer internals, the definition is not complete enough for an agent to confidently select or invoke the tool. The description fails to compensate for the schema coverage gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 8 parameters with 0% schema description coverage, and the description provides no explanation of any parameter. Terms like 'id', 'limit', 'folder', 'offset', 'search', 'ordering', 'max_pages', and 'filtering_labels' are left entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Override the list method to inject optimized data into the serializer context,' which describes an internal implementation detail rather than the tool's purpose. It does not clearly state that this lists metrology dashboards, so an agent must infer the purpose from 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.
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, when not to use it, or which sibling list/retrieve tool to choose instead. The description offers no usage context at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_dashboards_object_retrieveApi metrology dashboards object retrieveDRead-onlyIdempotent
api_metrology_dashboards_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered structurally and there is no contradiction. However, the description contributes zero behavioral context beyond the name — no note on what is returned or what the 'id' refers to.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity comes from under-specification rather than efficiency — there is no front-loaded statement of action or scope to compress, just a repeated identifier.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-record retrieval with no output schema and no annotations explaining the return payload, the description should at least say it fetches one dashboard by id. As written, an agent has essentially nothing beyond the parameter name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the description must carry that burden and does not. It never states that 'id' is a dashboard identifier or its format, leaving the only parameter undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the tool name repeated verbatim ('api_metrology_dashboards_object_retrieve'), which is a tautology rather than an explanation. Only the encoded name hints at 'retrieve one metrology dashboard object', and it does nothing to distinguish this from siblings such as ciso_assistant_api_metrology_dashboards_retrieve or _list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to use this tool versus the several near-identical metrology dashboard siblings (list, retrieve, object_retrieve). The agent must infer intent entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_dashboards_partial_updateApi metrology dashboards partial updateD
api_metrology_dashboards_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false, so the structured data carries the safety profile. The description adds nothing beyond that — no statement of what the body replaces, whether omissions are preserved, or what permissions are required, which is exactly the gap a partial-update tool needs filled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single identifier token with zero waste, but that is under-specification rather than conciseness. There is no front-loaded statement of purpose to compress.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an untyped free-form body, no output schema, and no annotation explanation of semantics, the definition leaves an agent unable to construct a valid call. Nothing tells the caller what fields the body accepts or what a successful response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and neither parameter (id, body) is explained anywhere. The description offers no information about the required dashboard identifier or about the free-form body object whose accepted fields are entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the operation identifier 'api_metrology_dashboards_partial_update', which restates the tool name rather than describing the action in prose. An agent can infer 'partial update of a metrology dashboard' from the slug, but the description itself adds no verb+resource statement and nothing distinguishes it from the sibling *_update or *_retrieve variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this instead of ciso_assistant_api_metrology_dashboards_update, _retrieve, or _object_retrieve. The only hint ('partial_update') is embedded in the identifier, leaving the choice between full update versus partial update to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_dashboards_retrieveApi metrology dashboards retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds one genuinely useful trait beyond the annotations: unauthorized related fields are masked in the response, which tells the agent that returned data may be partially redacted and not to treat absence of fields as an error. Annotations already cover read-only, idempotent, non-destructive behavior, so the remaining gap – what 'unauthorized' means and how a 404 is signalled – is a moderate one.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, which is structurally fine, but the brevity comes from under-specification rather than disciplined editing. Nothing useful is front-loaded because nothing substantive is stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve endpoint with no output schema and a completely undocumented path parameter, the description should indicate what is returned and how masking affects it. It gives only the masking hint, leaving the resource identity, lookup key, and response shape unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, and the description does not compensate at all – it never mentions that the parameter identifies which dashboard to fetch, nor its expected type or format. The description carries the full documentation burden here and does not meet it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only "Return a single object" – it never names the resource being returned (a metrology dashboard) or states that it is fetched by ID. The only informative content is the masking note; the core purpose must be inferred entirely from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this instead of ciso_assistant_api_metrology_dashboards_list, _object_retrieve, or _cascade_info_retrieve, all of which are plausible siblings. No prerequisites, no conditions, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_dashboards_updateApi metrology dashboards updateDIdempotent
api_metrology_dashboards_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is known. The description adds nothing beyond that — no indication of what fields are replaced, whether unspecified fields are preserved (full update vs partial), or what permissions are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single bare token is technically terse but is under-specification rather than conciseness. There is no front-loaded verb-plus-object sentence an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutating endpoint with an untyped body parameter, no output schema and no description content whatsoever. For a write tool where the payload shape is undefined, the definition is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description supplies no parameter meaning at all. The required 'id' and the untyped, free-form 'body' object are left entirely unexplained, so the agent cannot know what shape of payload this endpoint expects.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool identifier 'api_metrology_dashboards_update', which restates the name/title rather than describing the operation. An agent can infer 'update a metrology dashboard' only by parsing the identifier itself; nothing distinguishes it from siblings like metrology_dashboards_partial_update or dashboards_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the sibling partial_update / create / retrieve variants, and no stated prerequisites. With dozens of metrology_dashboards_* siblings, the absence of routing information is a real failure, not just an omission.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_dashboard_widgets_aggregation_retrieveApi metrology dashboard widgets aggregation retrieveCRead-onlyIdempotent
api_metrology_dashboard_widgets_aggregation_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered without the description. The description adds nothing beyond that — not what is aggregated, over what dimensions, or how the response is shaped — so it contributes no behavioral context of its own.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single identifier with no sentence structure and no front-loaded explanation. It is short, but that brevity comes from under-specification rather than economy — there is no information to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no parameters, so the description is the only channel that could explain what the aggregation returns and how to interpret it. It supplies none of that, leaving the agent unable to predict the response shape or even confirm the resource being aggregated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is an empty object with additionalProperties=false, so there is nothing for the description to document. Per the zero-parameter baseline this scores 4, though the absence of any guidance on implicit context (which dashboard/widget is targeted) is a mild weakness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name, so it is tautological by construction. An agent can only reverse-engineer intent from the path tokens ('metrology dashboard widgets aggregation retrieve'), guessing it returns aggregated widget data for a metrology dashboard, with no help distinguishing it from the sibling widget tools like widget_time_range_retrieve or widget_chart_type_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no usage guidance at all: no indication of when to call this versus the many sibling metrology dashboard/widget endpoints, no prerequisites, no context about what situation calls for aggregation data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_dashboard_widgets_batch_action_createApi metrology dashboard widgets batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=false, idempotent=false, openWorld=true; the description adds nothing on top — no list of supported actions, no partial-failure or atomicity behavior, no permission requirements. For a non-idempotent bulk mutation this is a real gap, though no contradiction with the 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no padding and the verb ('perform a batch action') front-loaded. It is efficient, though its brevity comes from under-specification rather than density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A bulk-mutation endpoint whose schema accepts no properties at all, with no output schema and no explanation of how target objects or the action are supplied. An agent cannot determine from the definition how to actually invoke it, so the description is inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters, so the baseline is 4 and there is nothing for the description to disambiguate. The description adds no parameter meaning, but it also cannot contradict an empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence only restates the generic idea of a bulk operation; it never names the resource (metrology dashboard widgets) or the kind of action being applied. With dozens of near-identical 'batch_action_create' siblings, the description does nothing to distinguish this tool from them — the resource exists only in the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the alternatives (e.g. dashboard_widgets_create/partial_update/destroy for single-object work), and no prerequisites. 'Multiple objects' faintly implies bulk use, but nothing tells an agent when to prefer this over the per-object endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_dashboard_widgets_cascade_info_retrieveApi metrology dashboard widgets cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that – it doesn't say what a "cascade" preview contains, its size, or cost, which is the one piece of context annotations cannot supply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness: a bare noun phrase with a trailing colon and no complete sentence. There is no front-loaded purpose to build on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A retrieve endpoint with a required id, no output schema, and an undefined "cascade" concept requires far more explanation than two words. Nothing tells the agent what the response will contain or how to use the id.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single required `id` parameter is completely unexplained. It is ambiguous whether the id refers to a dashboard widget, a dashboard, or another cascading parent object, and the description does nothing to resolve that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the two-word fragment "Cascade preview:" – no verb, no resource, no scope. Only the tool name/title conveys that this relates to metrology dashboard widgets, so the description effectively restates the title without adding meaning.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus siblings such as ciso_assistant_api_metrology_dashboards_cascade_info_retrieve or the widgets_retrieve/object_retrieve variants. An agent must guess from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_dashboard_widgets_chart_type_retrieveApi metrology dashboard widgets chart type retrieveCRead-onlyIdempotent
api_metrology_dashboard_widgets_chart_type_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing on top – no statement of what the endpoint returns, whether it is a static enum catalog, or whether it is cached/expensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is short because it carries no information – a pure echo of the identifier. There is no front-loaded statement of purpose and no sentence that earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter retrieval endpoint with no output schema, the description carries the full burden of telling the agent what comes back (e.g. a list of supported chart type identifiers like 'pie', 'bar'). It says nothing, leaving the return shape entirely unknown before invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters, and per the rubric a 0-param tool takes a baseline of 4. There is no parameter semantics for the description to compensate for, so the empty description is not a gap on this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool's snake_case identifier restated, adding no verb, scope, or resource framing beyond what the name already encodes. An agent can guess it retrieves available chart types for metrology dashboard widgets, but that inference comes from parsing the name, not the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, no prerequisites, no alternatives. This matters badly here because siblings like ciso_assistant_api_metrology_dashboard_widgets_retrieve, _aggregation_retrieve, and _time_range_retrieve all live in the same namespace and the description gives no basis for choosing among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_dashboard_widgets_createApi metrology dashboard widgets createD
api_metrology_dashboard_widgets_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=true, so the agent knows it is a non-idempotent write. The description adds no behavioral context at all — no mention of what gets created, required fields, side effects, or errors. It neither contradicts nor enriches 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is under-specified rather than efficient — the entire text is a restated identifier with no front-loaded purpose or usage information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an opaque free-form body and no output schema, the description leaves an agent unable to construct a valid request. It is completely inadequate given the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one untyped 'body' parameter with 0% schema description coverage and additionalProperties=true. The description does nothing to explain what the body should contain, which is the single most important thing an agent needs here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the machine-generated name 'api_metrology_dashboard_widgets_create', which restates the title verbatim. From the tokens one can infer it creates a metrology dashboard widget, but the text itself adds no clarification beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance about when to use this versus siblings such as metrology_dashboard_widgets_update, dashboards_create, or the batch_action/create variants. Nothing about prerequisites, parent dashboard requirements, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_dashboard_widgets_destroyApi metrology dashboard widgets destroyDDestructiveIdempotent
api_metrology_dashboard_widgets_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is carried by structured data. The description adds nothing beyond that — no statement about permanence, cascade effects on widgets inside a dashboard, or permission requirements for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically one token-string with no filler, but that is under-specification rather than conciseness; there is no front-loaded statement of action or object. Brevity earns no credit when nothing is conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with one undocumented parameter, no output schema and no prose, essentially every piece of information an agent needs to call it safely is absent. Sibling names are the only disambiguation signal available.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single required 'id' parameter, so the description must compensate and does not. It never says whether 'id' is the widget UUID, whether it is scoped to a parent dashboard, or what happens if the id does not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim ('api_metrology_dashboard_widgets_destroy') with no verb, resource, or scope stated in prose. An agent cannot tell from this text alone that a dashboard widget record is being deleted, nor how it differs from the sibling metrology_dashboard_widgets_retrieve/update/list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when deletion is appropriate, no prerequisites, no mention of alternatives such as partial_update or the cascade_info lookup. Nothing distinguishes it from the dozens of other *_destroy 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.
ciso_assistant_api_metrology_dashboard_widgets_listApi metrology dashboard widgets listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| dashboard | No | ||
| max_pages | No | ||
| chart_type | No | ||
| time_range | No | ||
| aggregation | No | ||
| metric_instance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description adds only that data is 'optimized' for the serializer, which is a server-side performance note with no bearing on what the agent receives or how results are shaped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is compact, but the content is internal developer jargon that does not front-load the tool's purpose or any actionable information for a caller.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 12-parameter tool with no output schema, no parameter documentation, and no annotation-independent behavioral detail. The description does nothing to close any of those gaps, leaving an agent unable to call it correctly beyond guessing at parameter names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 12 parameters (id, limit, folder, offset, search, ordering, dashboard, max_pages, chart_type, time_range, aggregation, metric_instance) and the description explains none of them. Filtering, pagination, and widget-configuration semantics are entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it 'overrides the list method' and 'injects optimized data into the serializer context' – both internal Django implementation details rather than a statement of what the tool returns. Only by combining the tool name (dashboard widgets list) can an agent infer it lists metrology dashboard widgets; the description itself never names the resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is given. With a dozen sibling metrology endpoints (retrieve, object_retrieve, cascade_info, aggregation, chart_type), the agent receives no signal about which to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_dashboard_widgets_object_retrieveApi metrology dashboard widgets object retrieveDRead-onlyIdempotent
api_metrology_dashboard_widgets_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so safety behavior is covered structurally. The description contributes nothing beyond this - it does not say what the retrieved widget object contains, whether it requires an existing id, or how it differs from the non-'object' retrieve variant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short string with no waste, but its brevity stems from under-specification rather than economy - it conveys no information beyond the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, one undocumented required parameter, and a large family of ambiguous sibling retrieve tools, the description leaves an agent unable to determine what this tool returns or how to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required parameter 'id', so the description must compensate and it does not. It gives no hint that 'id' is the widget identifier or what format it takes, leaving the parameter entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is verbatim the tool name 'api_metrology_dashboard_widgets_object_retrieve', which merely restates the identifier (retrieve an api metrology dashboard widget object) without expanding on it. It does not distinguish this tool from sibling retrieve endpoints such as ciso_assistant_api_metrology_dashboard_widgets_retrieve or _list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to use this tool versus alternatives, despite many near-identical siblings (widgets_retrieve, widgets_list, widgets_aggregation_retrieve, widgets_chart_type_retrieve). No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_dashboard_widgets_partial_updateApi metrology dashboard widgets partial updateD
api_metrology_dashboard_widgets_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so the safety profile is known. The description adds nothing beyond that — no mention of which fields can be partially updated, what the free-form body accepts, or what happens to omitted fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not concise in the useful sense — it is a single identifier with zero front-loaded information. There is nothing to be economical with because no content exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A non-idempotent mutation tool with an untyped body, no output schema, and 0% schema description coverage demands far more than a restated name. An agent cannot know what payload shape to send or which widget fields are patchable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters, and the description supplies no information about the required `id` or the free-form `body` object. Since the body is an unconstrained additionalProperties object, the description is the only place semantics could be given, and it gives none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name rendered as a single snake_case token, which is a tautology that restates the title verbatim. It does convey a partial update of a dashboard widget resource only because the identifier is decoded, not because the description explains anything.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus ciso_assistant_api_metrology_dashboard_widgets_update (full update) or the create/destroy siblings. No prerequisites, no exclusions, nothing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_dashboard_widgets_retrieveApi metrology dashboard widgets retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive, and the description adds a genuinely non-obvious behavioral fact: unauthorized related fields are masked in the response, so an agent knows returned fields may be absent for permission reasons rather than nonexistent. It does not say which fields get masked or how a 404/403 manifests, keeping it below 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, but it spends its only clause on return shape rather than on identifying the resource or the id parameter, so what is front-loaded is the least decision-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read tool with no output schema and an undocumented required parameter, the description should at minimum identify the entity and clarify field masking. It leaves the resource unnamed and the id semantics undefined, so an agent cannot confidently call it without inspecting the parent `_list` tool first.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single required `id` string, and the description says nothing about it — no indication of whether it is the widget's numeric PK, a UUID, or a ref. An agent must guess from the name; the one sentence spent on return shape could have been spent here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the return shape ("a single object") but never names the resource being retrieved — the metrology dashboard widget is only identifiable from the tool name. It also gives no basis for distinguishing this from the sibling `ciso_assistant_api_metrology_dashboard_widgets_object_retrieve`, which likely returns a similar single object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this instead of `_list`, `_object_retrieve`, or `_cascade_info_retrieve` on the same widget resource. The only usage-shaped signal is the implicit 'needs an id' from the schema, with no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_dashboard_widgets_time_range_retrieveApi metrology dashboard widgets time range retrieveCRead-onlyIdempotent
api_metrology_dashboard_widgets_time_range_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered externally. The description contributes nothing beyond that — no mention of what the time range means, whether it is a default/config lookup versus data aggregation, or any expected response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here is under-specification rather than conciseness: the entire text is the machine-generated identifier with no front-loaded explanation of behavior, scope, or output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameter documentation, the description is the only place an agent could learn what this returns, and it supplies nothing. For a read endpoint in a crowded metrology namespace, that leaves the agent unable to confirm it is calling the right tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline expectation is that the schema carries the contract and it does (empty object, additionalProperties=false). However, the name implies a 'time_range' path component while no parameter exists to supply one, which the description could have clarified and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name ('api_metrology_dashboard_widgets_time_range_retrieve'), which is a tautology rather than an explanation. It conveys no specific verb+resource framing an agent could act on beyond parsing the identifier string, and nothing distinguishes it from siblings like dashboard_widgets_retrieve or dashboard_widgets_aggregation_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative routing is provided. The agent must guess whether this returns widget time-range metadata, a default range configuration, or time-series data, and cannot tell how it differs from the similarly named sibling retrieval endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_dashboard_widgets_updateApi metrology dashboard widgets updateDIdempotent
api_metrology_dashboard_widgets_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, openWorldHint=true, destructiveHint=false, so the safety profile is covered and there is no contradiction. However, the description adds nothing beyond that: no statement about what the body replaces, whether omitted fields are cleared, or what permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but not concise in any useful sense: a single identifier fragment with no front-loaded statement of action, scope, or effect. There is nothing to trim because there is essentially no content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an opaque body payload, 0% schema coverage, and no output schema, the description needed to carry the meaning of the request shape and the effect of the update. It supplies none of that, leaving the agent unable to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description says nothing about the two parameters. The required 'id' and the untyped free-form 'body' object (additionalProperties: true) are entirely undocumented, so the agent cannot know what keys the body accepts without guessing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name restated in lowercase with underscores: 'api_metrology_dashboard_widgets_update'. It implies an update of dashboard widgets under an API namespace, but supplies no verb-object statement an agent could act on and gives no differentiation from siblings like ciso_assistant_api_metrology_dashboard_widgets_partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, prerequisites, or alternative routing is provided. The agent is left to infer that this is a full update versus the sibling partial_update purely from the name token.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_metric_definitions_batch_action_createApi metrology metric definitions batch action createD
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false. The description adds no context beyond that: it does not say which action verbs are supported, whether the operation is all-or-nothing, or what happens to objects that fail mid-batch. For a non-idempotent bulk mutation with zero annotations-level detail, this is a substantive gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, but its brevity comes from under-specification rather than efficiency — it conveys no information an agent could not infer from the tool name. Nothing is front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A non-idempotent, open-world bulk mutation with no parameters, no output schema, and no description of the action model leaves an agent unable to call it correctly at all. The annotations carry a partial safety profile, but the operational semantics are entirely absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter count is 0, so the baseline is 4, but the empty schema is itself suspicious for a batch tool that must receive target objects and an action. The description does nothing to explain this gap or how targets/actions are conveyed, so it falls below baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the operation type ('batch action') in generic terms without naming the resource it operates on, even though the tool is scoped to metrology metric definitions. It is indistinguishable from dozens of sibling *_batch_action_create tools apart from the tool name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the plain create/update/destroy siblings, no mention of what a 'batch action' entails (bulk delete, bulk update, apply a status change), and no prerequisites or exclusions. The agent has nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_metric_definitions_cascade_info_retrieveApi metrology metric definitions cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 nothing beyond that – it doesn't say what a 'cascade preview' contains, whether it is a dry-run computation, or what the response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is short because it is under-specified rather than efficient. The single fragment conveys essentially no actionable information to an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no annotation of return shape, and a one-word description combine to leave the agent unable to know what calling this returns. For a read-only preview endpoint the bar is modest, but this is below it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter named 'id' with 0% schema description coverage, and the description says nothing about what that id refers to (presumably a metric definition). With the schema carrying no meaning, the description must compensate and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment "Cascade preview:" – it gestures at a preview of cascade effects but never states a verb+resource, what is being previewed, or what the target resource is. It largely restates the tail of the tool name/title rather than explaining the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this versus the many sibling retrieve endpoints (e.g. metrology_metric_definitions_retrieve, _object_retrieve, or the other *_cascade_info_retrieve tools). There is no context, prerequisite, or exclusion provided at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_metric_definitions_category_retrieveApi metrology metric definitions category retrieveCRead-onlyIdempotent
api_metrology_metric_definitions_category_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered externally. The description adds zero behavioral context — it doesn't say this returns a static enum-like taxonomy, whether results are paginated, or what the payload shape is. The 'category' segment hints at a choice-list endpoint, but that is inference from the name, not disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is brief, but brevity here is under-specification rather than conciseness — the single sentence is just the identifier restated. There is no front-loaded statement of what is returned or why an agent would call it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A no-param read endpoint is simple enough that annotations carry most of the load, but with no output schema and no description of the returned category values, an agent cannot know what it will get back or how to use it. At minimum it should state that it returns the enumerable category options for metric definitions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify; the baseline of 4 applies. The empty schema (additionalProperties: false) is self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated verbatim ('api_metrology_metric_definitions_category_retrieve'), which is a tautology rather than an explanation. An agent must infer from the slug that this returns the list of category choices for metrology metric definitions, and nothing distinguishes it from sibling endpoints like metrology_metric_definitions_provider_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the many other metrology metric-definition endpoints (list, retrieve, provider_retrieve, cascade_info_retrieve). No prerequisites, no context, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_metric_definitions_createApi metrology metric definitions createD
api_metrology_metric_definitions_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is covered without the description. However the description adds nothing beyond that — no note on required auth, side effects of creating a definition, whether it registers samples, or validation failures. Consistent with annotations, just empty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token, so there is no filler to trim, but this is under-specification rather than conciseness. Nothing is front-loaded because nothing is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool writing to an open-world API with an unconstrained body object and no output schema. The description must at minimum explain the payload shape and effect; it explains neither, leaving the agent unable to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'body' is a free-form object with 0% schema description coverage, and the description says nothing about what fields the body expects (name, category, provider, unit, etc.). With an opaque untyped payload, the description is the only possible source of parameter meaning and it provides none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool identifier with underscores stripped of meaning: 'api_metrology_metric_definitions_create'. It restates the name and title rather than stating in prose that this creates a metric definition resource, adding no scope, target, or distinction from siblings like ..._partial_update or ..._update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no alternatives named. An agent must infer from the name alone that this is a create operation and cannot tell when to pick it over the metric-instance or dashboard-widget create siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_metric_definitions_destroyApi metrology metric definitions destroyDDestructiveIdempotent
api_metrology_metric_definitions_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=true and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that — no mention of cascading effects, referential requirements (e.g. whether metric instances/samples block deletion), or what happens on a missing id. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here is under-specification rather than conciseness — there is no front-loaded statement of action or effect, only a machine identifier echoed as prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema and an undocumented id parameter, the description should state what is removed, what depends on it, and whether the operation is recoverable. None of that is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is undocumented in both schema and description. The description does not say whether the id is the metric definition UUID, a slug, or a numeric key, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the tool name with underscores expanded ('api_metrology_metric_definitions_destroy'), which restates the title rather than stating what the tool does. An agent can infer deletion of a metric definition from the suffix, but no sentence explains the operation or its scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, when not to, or which sibling to prefer (e.g. delete a metric definition vs. a metric instance vs. a dashboard widget). Every sibling destroy tool has the identical name-only pattern, so nothing routes the agent correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_metric_definitions_listApi metrology metric definitions listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| unit | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| library | No | ||
| category | No | ||
| ordering | No | ||
| provider | No | ||
| max_pages | No | ||
| is_published | No | ||
| filtering_labels | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is covered structurally. The description adds nothing an agent can use — 'serializer context' and 'optimized data' are backend jargon that do not tell the caller anything about result shape, pagination, or filtering behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is spent on irrelevant implementation detail rather than front-loading what the tool does. Brevity here reflects under-specification, not economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 13-parameter list tool with zero parameter documentation, no output schema, and a description that explains none of it is not callable with confidence. Nothing tells the agent what a returned metric definition looks like or how pagination via limit/offset/max_pages behaves.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
13 parameters with 0% schema description coverage and no explanations anywhere; the schema itself has empty anyOf items with no types or descriptions. The description does not name a single filter (id, unit, folder, search, ordering, max_pages, etc.), so an agent must guess the meaning of every parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does for a caller. Only the tool name hints that it lists metric definitions; the description never says it returns a collection of metrology metric definitions or what those are.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives among the many metrology siblings (metric_definitions_retrieve, metric_instances_list, etc.), and no preconditions. The sentence is about Django internals, not about choosing this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_metric_definitions_object_retrieveApi metrology metric definitions object retrieveDRead-onlyIdempotent
api_metrology_metric_definitions_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered by structured data. The description adds nothing beyond that — no note on permissions, error behavior for a missing id, or what the returned definition contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is certainly short, but the brevity is under-specification rather than efficiency: the single phrase merely echoes the tool name and is not front-loaded with any actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and zero parameter documentation, the description is the only place to explain what a metrology metric definition is and what a successful response looks like. It provides none of that, leaving the agent to guess at the resource domain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter 'id' with 0% schema description coverage, so the description carries the full burden and provides nothing — not even whether the id is a UUID, integer, or reference string. This is a clear gap the description should have filled.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim ('api_metrology_metric_definitions_object_retrieve'), which only restates the identifier. An agent can infer a single-object fetch of a metrology metric definition from the name alone, but the description itself contributes no verb, resource explanation, or scope statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this versus the many sibling alternatives such as ciso_assistant_api_metrology_metric_definitions_list, _retrieve, or _cascade_info_retrieve. No prerequisites, no exclusions, no conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_metric_definitions_partial_updateApi metrology metric definitions partial updateD
api_metrology_metric_definitions_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the description is not required to carry the safety profile. But it adds zero context of its own — no mention of what fields can be patched, whether omitted fields are preserved, or permission requirements — and 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here is under-specification rather than discipline — a single underscore-joined identifier is not a useful sentence and front-loads nothing about behavior or inputs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an entirely opaque 'body' parameter, no output schema, and only minimal annotations, the description should explain the patchable payload and partial-update semantics. It explains nothing, so an agent cannot safely call this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across two parameters: 'id' is an untyped-in-prose string with no explanation of format, and 'body' is a free-form additionalProperties object with no field list. The description supplies none of this, leaving the agent unable to know what payload to construct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a literal restatement of the tool name, differing only in separator style. It conveys no verb-plus-resource framing beyond what the identifier already implies, and gives no scope or object detail for 'metric definitions'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. The sibling set contains both ..._metric_definitions_update and ..._metric_definitions_partial_update, and the description does nothing to explain when partial update is preferred over full update, create, or destroy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_metric_definitions_provider_retrieveApi metrology metric definitions provider retrieveCRead-onlyIdempotent
api_metrology_metric_definitions_provider_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered. The description adds nothing on top: no indication of what a 'provider' means here, whether the call is expensive, requires auth, or hits an external system despite openWorldHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness: the entire text is the identifier repeated. There is no front-loaded statement of what the endpoint returns or why an agent would call it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of explaining what is returned — presumably the list of providers for metrology metric definitions — and it does not. For a zero-arg read endpoint in a large, densely-named API surface, this leaves the agent unable to predict the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema cannot leave gaps and the baseline of 4 applies. The description neither helps nor hurts here since there is nothing to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim ('api_metrology_metric_definitions_provider_retrieve'), restating the title without adding a verb+resource explanation an agent could act on. 'Retrieve' and 'metric definitions provider' are inferable only by parsing the snake_case identifier, and nothing distinguishes it from siblings such as ..._metric_definitions_retrieve or ..._metric_definitions_category_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is stated. The 'retrieve' suffix implies a read, but there are at least three other metric-definition retrieve/list endpoints in the sibling set and the description gives no basis for choosing among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_metric_definitions_retrieveApi metrology metric definitions retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds one genuinely useful behavioral fact — that related fields the caller is not authorized to see are masked in the response — but says nothing about how the object is addressed, whether a missing id errors, or what the masked response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, but the brevity comes at the cost of substance rather than being efficient; it front-loads a non-essential detail (masking) instead of the operation itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should describe the returned entity, but it only says 'a single object'. For a retrieve endpoint the agent needs to know what it is fetching and what the masked fields imply; both are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required 'id' parameter with 0% schema description coverage, and the description never explains what the id identifies (presumably a metric definition), its format, or that it is the lookup key. With low coverage, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Return a single object' and never names the resource; the agent must read the tool name to learn this retrieves a metrology metric definition. It describes an output nuance (masked fields) rather than the operation's purpose, so it does not distinguish itself from siblings such as metric_definitions_retrieve or metric_definitions_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many sibling retrievers (object_retrieve, cascade_info_retrieve, list, provider/category endpoints). No prerequisites, permissions, 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.
ciso_assistant_api_metrology_metric_definitions_updateApi metrology metric definitions updateDIdempotent
api_metrology_metric_definitions_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered by structured data. The description contributes nothing beyond that - no statement about permissions, whether unspecified fields are cleared, or what the response contains - so credit is limited to the annotation coverage it 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single identifier token rather than prose, so there is no wasted text but also no front-loaded statement of purpose. Brevity here comes from under-specification, not from efficient writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with an opaque free-form body, no output schema, and openWorldHint=true needs the description to explain payload shape and side effects. None of that is present, leaving the tool effectively unusable from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description supplies no parameter information at all. The 'body' parameter is an unconstrained free-form object, which is exactly the case where the description must describe the updatable field set, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's own identifier echoed back ('api_metrology_metric_definitions_update'), which restates the name rather than explaining the operation. It gives no indication of what a metric definition is in this product or what fields can be updated, so the agent must infer everything from the slug.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the sibling operations that overlap heavily (partial_update, batch_action_create, destroy, retrieve), and no exclusions. The agent is left to guess between at least four near-identical metrology metric-definition endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_metric_instances_batch_action_createApi metrology metric instances batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=true, so the safety profile is known. The description adds nothing beyond that — it doesn't say what actions can be batched, whether the operation is all-or-nothing, or how partial failures are handled, which is exactly the kind of context a batch mutation needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, so nothing is wasted — but it is under-specified rather than concise. It is front-loaded but carries almost no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, non-read-only batch mutation with an empty schema and no output schema, the description should explain the payload shape, supported actions, and result semantics. None of that is present, so an agent cannot confidently invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero declared parameters the baseline is 4, but here the empty schema (additionalProperties=false, no properties) is itself suspicious for a tool described as acting on 'multiple objects' — no way to pass the object IDs or the action. The description does nothing to explain the expected payload, so it leaves a real gap rather than merely duplicating the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Perform a batch action on multiple objects' essentially restates the tool name (batch_action_create) and never names the resource. The only clue that this operates on metrology metric instances comes from the tool name/title, not the description. With dozens of sibling *_batch_action_create tools, nothing here distinguishes it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this instead of the individual create/update/destroy endpoints for metrology metric instances, nor which batch operations are available. The agent must guess entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_metric_instances_cascade_info_retrieveApi metrology metric instances cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds essentially nothing beyond that: it does not say what a cascade preview returns, why it exists, or whether it is a dry-run of a delete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Brevity here is under-specification rather than conciseness; the single clause is truncated mid-thought with a dangling colon and no front-loaded purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A read endpoint with no output schema, an undocumented parameter, and a one-phrase description leaves the agent unable to know what it receives or why to call it. Nothing in the definition fills these gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter (id) with 0% schema description coverage, and the description supplies no clarification of what the id refers to or what object it identifies. The only reason this is not a 1 is that 'id' is a conventional identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment ending in a colon, apparently truncated from a longer sentence. It hints at previewing cascade effects but never names the resource (metrology metric instances) or the verb, so an agent must infer purpose from 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this versus siblings such as ..._retrieve, ..._object_retrieve, or the cascade_info tools on other resources. Nothing indicates when a cascade preview is warranted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_metric_instances_collection_frequency_retrieveApi metrology metric instances collection frequency retrieveCRead-onlyIdempotent
api_metrology_metric_instances_collection_frequency_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that — no mention of what frequency dimension is returned, what the openWorld behavior implies, or any pagination/format context, which is exactly the kind of value the description should add on top of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single raw identifier is nominally short but is under-specification, not conciseness: there is no front-loaded statement of purpose and nothing for the remaining sentences to earn a place. It is sized like an ID, not like a description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only source of information about what this endpoint returns (a frequency breakdown of metric instances, presumably by some dimension), yet it explains none of that. An agent cannot predict the response shape, the granularity options, or the result semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% coverage, so there is nothing for the description to clarify. Baseline 4 applies; the description neither adds nor omits parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name restated verbatim in snake_case, which is a tautology rather than an explanation. Only the segments of the identifier ('metrology metric instances' ... 'frequency') hint that it retrieves a frequency/aggregation for metric instances, but the description itself states no verb or resource in readable form and offers no differentiation from siblings like ciso_assistant_api_metrology_metric_instances_status_retrieve or _list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this tool, when not to, or which sibling to prefer (e.g. metric_instances_list vs status_retrieve vs this frequency endpoint). The agent must infer usage entirely from the identifier string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_metric_instances_createApi metrology metric instances createD
api_metrology_metric_instances_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, openWorldHint=true, idempotentHint=false – so this is a non-idempotent, open-world write. The description adds nothing: no mention of required permissions, side effects, whether re-create duplicates, or validation failures. It neither contradicts nor 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically one token-string, so it is not bloated, but it is under-specified rather than concise. Scored 2 because it fails to communicate anything, not because it is wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with zero param documentation, no output schema, and no annotations beyond generic hints demands explanation. The description supplies none, so an agent cannot confidently construct a request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one optional 'body' parameter with 0% schema description coverage and no enum or nested structure to imply shape. The description says nothing about what the body should contain, leaving the single most important input entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation ID, 'api_metrology_metric_instances_create', which merely restates the tool name and title. It gives no plain-language statement of what is created (a metric instance), what data it needs, or how it differs from siblings like ciso_assistant_api_metrology_metric_instances_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the batch_action, update, partial_update, or list siblings in the metrology_metric_instances family. An agent must infer everything from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_metric_instances_destroyApi metrology metric instances destroyDDestructiveIdempotent
api_metrology_metric_instances_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 no behavioral context whatsoever — not what cascades on deletion (e.g. associated metric samples), whether the deletion is soft or hard, or what permissions are required — so it neither contradicts nor enriches 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is minimal in length but not concise in any useful sense — it is under-specification rather than economy of words, since a single repeated identifier sentence conveys no information an agent does not already have.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-read-only operation with one undocumented parameter and no output schema, the description should cover target identification and deletion consequences. It covers none of these, leaving the definition essentially empty of guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, and the description does not clarify whether it expects a metric instance ID or the parent metric definition ID. With the description silent, an agent could easily pass the wrong identifier type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's snake_case name verbatim, so it only restates the identifier rather than explaining what it does. An agent can infer 'destroy a metrology metric instance' from the name alone, but the description contributes nothing beyond it and does not distinguish it from sibling destroy tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no preconditions, and no pointer to alternatives such as metric_instances_object_retrieve (to verify the target) or partial_update. The agent must infer all usage context from the name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_metric_instances_listApi metrology metric instances listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| owner | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| ordering | No | ||
| evidences | No | ||
| max_pages | No | ||
| filtering_labels | No | ||
| metric_definition | No | ||
| collection_frequency | No | ||
| organisation_objectives | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The phrase about injecting "optimized data into the serializer context" weakly implies enriched/pre-joined results, but says nothing about pagination, filtering behaviour, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but brevity here is under-specification rather than concision. The one clause present conveys implementation detail instead of the resource, action, and filters an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter list endpoint with no output schema and no parameter documentation, the description supplies none of the missing information. An agent could not infer what is returned, how filters combine, or how pagination via limit/offset/max_pages works.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Fourteen parameters with 0% schema description coverage, and the description mentions none of them. Filters such as id, owner, folder, status, ordering, max_pages, filtering_labels, metric_definition, collection_frequency and organisation_objectives are left entirely unexplained in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text "Override the list method to inject optimized data into the serializer context" is an internal implementation note. It never names the resource (metrology metric instances), so an agent cannot tell from it that this lists metric instances rather than any of the many sibling *_list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this tool, when not to, or how it relates to siblings like metrology_metric_instances_retrieve or metric_instances_cascade_info_retrieve. The sentence reads as a code comment and actively misdirects rather than guiding selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_metric_instances_object_retrieveApi metrology metric instances object retrieveDRead-onlyIdempotent
api_metrology_metric_instances_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered without the description. However, the description adds no behavioral context at all — nothing about what object is returned, whether it 404s on unknown id, or what 'object' semantics mean here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here is under-specification rather than conciseness: the single token conveys no information beyond the already-visible tool name, so no sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool with an undocumented required id and no output schema, the description should at minimum describe the returned resource; it provides nothing, leaving the agent with only the annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (id) with 0% schema description coverage, and the description provides no clarification of what kind of identifier it expects or where it comes from. With zero coverage and no compensating text, the parameter is effectively undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name ('api_metrology_metric_instances_object_retrieve'), which is a tautology rather than an explanation. It does not distinguish this tool from close siblings such as metric_instances_retrieve, metric_instances_list, or metric_instances_object_retrieve, so an agent cannot tell which one fetches a single instance object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus the many sibling metrology tools (list, retrieve, cascade_info_retrieve, status_retrieve). No conditions, prerequisites, 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.
ciso_assistant_api_metrology_metric_instances_partial_updateApi metrology metric instances partial updateD
api_metrology_metric_instances_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so the safety profile exists in structured data. The description adds nothing on top: it doesn't mention that 'partial' means PATCH-merge semantics, whether unlisted fields are preserved, or what happens on re-application given non-idempotency. It does not contradict the annotations, but it contributes zero 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token, so nothing is wasted, but that brevity comes from under-specification rather than efficiency. There is no front-loaded explanation of purpose, scope, or payload shape.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write operation whose entire payload is an opaque object, with no output schema and no parameter descriptions, the definition leaves an agent unable to construct a valid call. It is nowhere near complete enough for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the only non-id parameter, body, is an untyped anyOf object with no field documentation. The description does nothing to compensate, so an agent has no idea what payload keys are accepted or valid.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the operation identifier restated verbatim, offering no verb+resource explanation beyond what the name already encodes. An agent can infer only that it's a partial update of 'metric instances' from the token string itself, with no clarification of what a metric instance is or what the update affects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this instead of metric_instances_update (full replace) or metric_instances_create/destroy. With dozens of near-identical siblings in the metrology family, the absence of routing guidance is a real cost.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_metric_instances_retrieveApi metrology metric instances retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 a genuine, non-obvious behavioral detail: unauthorized related fields are masked in the response. It stops short of saying what counts as 'unauthorized', whether masking is user-dependent, or what happens for a nonexistent id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding or boilerplate; it is appropriately sized, though its brevity comes at the cost of the missing resource and id context noted elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, the description should at minimum name the returned entity and clarify how the id is obtained. As written it covers only masking, leaving the agent to infer the resource from the tool name and the id semantics from nothing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is an undescribed string. The description says nothing about what the id identifies or its format, so neither structured nor prose documentation explains the one input the agent must supply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Return a single object" restates the name's 'retrieve' without naming the resource (metrology metric instance) or stating that lookup is by id. The only substantive content, the field masking, describes output handling rather than the tool's purpose, so an agent must rely entirely on the auto-generated name to know what entity it fetches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus the many adjacent siblings such as metric_instances_list, metric_instances_object_retrieve, or metric_instances_cascade_info_retrieve. The distinction between 'retrieve' and 'object_retrieve' is exactly what an agent needs here and it is left entirely unaddressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_metric_instances_status_retrieveApi metrology metric instances status retrieveDRead-onlyIdempotent
api_metrology_metric_instances_status_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is fully covered by structured data and the description does not contradict it. However, the description adds nothing beyond annotations – no indication of what 'status' endpoint returns, whether it hits an external system (relevant given openWorldHint=true), or any latency/rate-limit context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single identifier-length string with no front-loaded verb or object in human-readable form. It is not concise-but-informative; it is under-specified, offering no structure an agent can parse into intent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of explaining what the status retrieval returns (e.g. a status enum for metric instances), and it does not. For a retrieve endpoint with an openWorld hint, an agent has no idea what payload or external dependency to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4 per the rubric. The empty schema is self-explanatory and there is no parameter syntax the description could usefully add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the tool's snake_case name repeated verbatim ('api_metrology_metric_instances_status_retrieve'), which is a tautology rather than a statement of purpose. An agent cannot tell from this text what resource is being retrieved or what 'status' means in this context, nor how it differs from siblings like ciso_assistant_api_metrology_metric_instances_retrieve or ..._list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to use this tool versus the many metrology siblings (metric_instances_retrieve, metric_instances_list, metric_instances_object_retrieve, collection_frequency_retrieve). No prerequisites, no exclusions, no alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_metrology_metric_instances_updateApi metrology metric instances updateDIdempotent
api_metrology_metric_instances_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered elsewhere. The description adds nothing beyond that — notably it does not say what the opaque 'body' replaces, whether omitted fields are cleared or preserved (the key distinction versus partial_update), or what happens on unknown ids.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but this is under-specification rather than conciseness — the single token carries no information an agent did not already have from the tool name. Nothing is front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A write tool with a fully opaque body, no output schema, no annotations explaining semantics of the write, and 0% schema coverage. For a full-replace update on metrology metric instances this leaves the agent unable to call it correctly or safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters. 'id' is undocumented and 'body' is a free-form anyOf object with additionalProperties=true and no shape at all, so the agent has no way to know what fields to send. The description provides zero compensating information, which is the critical gap for a mutation tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal tool slug restated — 'api_metrology_metric_instances_update' — with no verb-and-resource phrasing an agent could parse. It does not distinguish this from the sibling partial_update, batch_action, or create endpoints on the same metric_instances resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus ciso_assistant_api_metrology_metric_instances_partial_update, _create, _destroy, or _batch_action_create, all of which sit on the same resource. The agent must infer the distinction from the suffix alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_issues_batch_action_createApi organisation issues batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, non-destructive, non-idempotent, open-world, so the safety profile is covered. The description adds nothing beyond that: it doesn't say which batch actions exist (delete/update/assign), whether the operation is atomic, or what happens on partial failure -- the key unknowns for a batch mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no bloat, but its brevity is under-specification rather than efficiency -- nothing is front-loaded because nothing substantive is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an empty schema, no output schema, and only generic annotations, the description should explain the payload and the action semantics. It leaves the agent unable to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero properties, so per the baseline rule parameter semantics is not the primary gap. However the description gives no hint about the request body shape (object id list plus action name) that such a batch endpoint normally requires, which is the one thing text could have supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the generic operation ('Perform a batch action on multiple objects') without naming the resource -- organisation issues -- that the tool name and title indicate. Any of the dozens of sibling *_batch_action_create tools would match this sentence verbatim, so an agent gets no differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus the per-object endpoints (organisation_issues_update, organisation_issues_destroy) or versus sibling batch tools. No prerequisites, no mention of what actions a batch can carry.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_issues_cascade_info_retrieveApi organisation issues cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The word "preview" weakly reinforces non-committal semantics, but the description adds nothing about what the cascade set contains, whether it is paginated, or whether it reflects only direct or also transitive dependencies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity comes from under-specification rather than efficiency; it is not even a complete sentence and there is nothing to front-load because no information is conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotation detail about the return payload, and 0% schema description coverage, the description carries full burden and delivers essentially nothing. An agent cannot know what the preview returns or how to interpret the id argument.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter is an untyped-in-meaning string named only 'id'. The description does not say whether this is the organisation issue id, a folder id, or a generic object id, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a two-word fragment, "Cascade preview:", with no verb and no resource named beyond the tool's own title. An agent must infer from the tool name that it previews cascade effects of deleting or modifying an organisation issue, and nothing distinguishes it from the many other '*_cascade_info_retrieve' siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-naming guidance at all. With dozens of cascade_info siblings in the toolset, an agent has no signal for choosing this one over, say, ciso_assistant_api_journeys_cascade_info_retrieve or ciso_assistant_api_assets_cascade_info_retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_issues_category_retrieveApi organisation issues category retrieveCRead-onlyIdempotent
api_organisation_issues_category_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the bar is lower, but the description still contributes nothing: no statement that it returns the set of valid category values, no auth or pagination notes. The safety profile comes entirely from 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but only because it is under-specified, not because it is efficient. There is no sentence structure or front-loaded explanation to guide selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter endpoint with no output schema, the description should at least say what is returned (the category taxonomy that populates the issue category field). Nothing in the definition closes that gap, leaving the agent to infer the return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters, so there is nothing for the description to disambiguate; the baseline for a 0-param tool is 4. No parameter semantics are needed or missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the snake_case tool name echoed back, so it only restates the title. The name itself implies a read of organisation-issue category options, but the description text adds no verb, resource, or scope beyond that identifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance at all on when to call this versus the many sibling helpers (organisation_issues_list, origin_retrieve, status_retrieve, retrieve). An agent must guess that this is the category enum endpoint rather than the issue list or record fetch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_issues_createApi organisation issues createD
api_organisation_issues_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, which conveys that this is a non-idempotent write with external reach. The description adds nothing on top of that: no mention of required permissions, what the request body should contain, or what happens on repeat calls. There is no contradiction with the annotations, but zero value added beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is one token long, which is concise only in the trivial sense; it is under-specification rather than economy. Nothing is front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque free-form body, no output schema, and no annotations beyond generic hints, the description supplies none of the context an agent would need to call it correctly. It is effectively an undocumented endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter is an untyped, undocumented 'body' (anyOf object with additionalProperties true) at 0% schema description coverage. The description provides no information about what fields that body should carry, so an agent has no way to construct a valid request from either the schema or the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the tool's own name, 'api_organisation_issues_create', restated verbatim. An agent can infer a create operation on organisation issues from the name alone, but the description contributes no scope, no object shape, and no differentiation from the many other organisation_issues siblings such as _update, _partial_update, and _batch_action_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the neighbouring organisation_issues_update, _partial_update, or _batch_action_create tools, and no prerequisites or conditions are mentioned. The agent must guess the routing entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_issues_destroyApi organisation issues destroyDDestructiveIdempotent
api_organisation_issues_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 known. The description adds nothing beyond that – no statement about permanence, cascade effects on related objects, permissions, or a confirmation pattern. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it contains no content at all – a bare echo of the tool name. Brevity without information is under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a destructive delete on a domain object with no output schema and a 0%-covered required parameter, so the description should carry real weight. Nothing is provided about scope, consequences, or identifier sourcing, leaving the definition incomplete for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is completely undocumented. The description does not say what kind of identifier it is (UUID vs. numeric) or where to obtain it, leaving the parameter entirely opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool identifier repeated ('api_organisation_issues_destroy'), which is a tautology rather than an explanation. An agent can infer that an organisation issue is deleted, but nothing states what an 'organisation issue' is or what distinguishes this endpoint from the ten other organisation_issues siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to delete versus archive, what preconditions exist, or when to prefer the update/partial_update siblings. An agent must guess entirely from the name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_issues_listApi organisation issues listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| origin | No | ||
| search | No | ||
| status | No | ||
| category | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, so safety is covered. However, the description's talk of 'injecting optimized data into the serializer context' is implementation jargon that conveys nothing usable to an agent about response shape, pagination, or filtering behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is wasted on internal implementation detail rather than front-loading the operation's purpose or its parameters, so brevity earns nothing here.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter list tool with no output schema and no annotation-adjacent behavioral detail, the description supplies none of the filtering, pagination, or return-value context an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Ten parameters exist with 0% schema description coverage, and the description provides zero information about any of them (search, status, category, ordering, limit, offset, folder, origin, id, max_pages). With the burden fully on the description and it offering nothing, this is a severe gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a developer docstring about overriding the list method and injecting serializer context; it never states that it lists organisation issues or what data is returned. It effectively restates the tool name without adding resource-level meaning.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative tooling is mentioned. An agent has no signal for choosing this over the many sibling list/retrieve endpoints such as organisation_issues_retrieve or object_retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_issues_object_retrieveApi organisation issues object retrieveDRead-onlyIdempotent
api_organisation_issues_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 covered structurally. The description adds nothing beyond that — no note on permissions, whether the id is a UUID, or what happens for a missing/unseen object (openWorldHint=true suggests non-deterministic results but the description never explains it).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is a bare restatement of the name — under-specification rather than conciseness. There is no front-loaded statement of purpose to evaluate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, minimal annotations, and an undocumented required parameter leave the description as the only possible explanatory channel — and it supplies nothing. An agent has no basis to know what object shape comes back or how it differs from the many near-identical `*_object_retrieve` siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required `id` parameter, and the description does not mention it at all — no format, no meaning, no example. With one undocumented parameter and zero compensating text, this falls below the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim ('api_organisation_issues_object_retrieve'), a tautology that adds no plain-language statement of what is fetched. An agent can infer 'retrieve one organisation issue object' only by parsing the identifier itself, and the sibling set contains both `..._organisation_issues_retrieve` and `..._organisation_issues_object_retrieve`, which the description does nothing to disambiguate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not, or alternative-routing information is given. Nothing tells the agent to prefer this over `ciso_assistant_api_organisation_issues_list` for enumeration or `..._organisation_issues_retrieve` for a different lookup path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_issues_origin_retrieveApi organisation issues origin retrieveCRead-onlyIdempotent
api_organisation_issues_origin_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered without the description. The description contributes nothing beyond that — it says nothing about what is returned, whether the response depends on tenant context, or what 'origin' means for this resource.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single identifier with no wasted words, but that is under-specification rather than conciseness. There is no front-loaded purpose statement or any structure an agent could parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and an openWorld hint, the description is the only place to learn what this retrieve call returns, yet it supplies nothing. The annotations carry the read-only safety signal, but an agent still cannot tell what data comes back or why this differs from the plain organisation_issues_retrieve endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no semantics for the description to explain; the baseline for a parameterless tool is 4. Nothing here is misleading on that front.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim ("api_organisation_issues_origin_retrieve"), so it only restates the title rather than stating in prose what the tool does. An agent can decode the slug into 'retrieve the origin of organisation issues', but there is no sentence describing the resource, scope, or the meaning of 'origin'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when this endpoint should be called, no prerequisites, and no mention of any of the numerous siblings such as ciso_assistant_api_organisation_issues_retrieve or ciso_assistant_api_organisation_issues_cascade_info_retrieve. Nothing helps an agent choose between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_issues_partial_updateApi organisation issues partial updateD
api_organisation_issues_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=false, idempotentHint=false and openWorldHint=true, so the description carries only a supplementary burden — and it supplies nothing. It never says what a partial update mutates, whether omitted fields are preserved, or what permissions are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically short, but the brevity is under-specification rather than efficiency: eight words that convey no information beyond the name. Nothing is front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an untyped free-form body, no output schema and zero schema documentation, the description must explain payload shape and semantics. It says nothing at all, leaving an agent unable to call this safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the two parameters are undocumented in both schema and description. The free-form 'body' object is especially opaque — an agent has no idea which organisation-issue fields (status, origin, category, etc.) it may pass, and 'additionalProperties: true' makes it fully unbounded.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation ID re-worded ('api_organisation_issues_partial_update'), which merely restates the tool name rather than stating in plain language what it does. An agent learns only that some partial update exists on an 'organisation issues' resource, with no verb+resource phrasing or scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus ciso_assistant_api_organisation_issues_update (full update) or the many other organisation-issues siblings. No prerequisites, no exclusions, no alternatives named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_issues_retrieveApi organisation issues retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that this is a safe, idempotent read. The description adds useful behavioral context by noting that unauthorized related fields are masked, but it does not explain the authorization conditions, what fields are affected, or what happens when the id is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence with no wasted wording, but it is under-specified rather than well-structured: the resource being retrieved is not front-loaded, and the sentence leads with a generic 'single object'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-record retrieve with one required parameter and no output schema, the description should at least name the resource, explain the id parameter, and clarify masked fields. It supplies only a partial behavioral note, leaving the core retrieval semantics incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required id parameter with 0% description coverage, and the description never mentions the id or its expected format. For a retrieval endpoint, this leaves the only parameter completely unexplained beyond its name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it returns 'a single object' and does not identify the resource as an organisation issue. The verb/resource specificity comes entirely from the tool name, not from the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this retrieve endpoint versus the sibling organisation_issues_list or organisation_issues_object_retrieve endpoints. It is not misleading, but it provides no selection context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_issues_status_retrieveApi organisation issues status retrieveCRead-onlyIdempotent
api_organisation_issues_status_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that — no hint of what data is returned, whether it is scoped to the caller's organisation, or authentication needs. It does not contradict the annotations, but it contributes no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely short, but shortness here reflects under-specification rather than conciseness: the single string carries no front-loaded purpose, no scope, and no routing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description bears the full burden of explaining what the endpoint returns, and it does not. Given the large cluster of organisation_issues and *_status_retrieve siblings, an agent cannot confidently select or invoke this tool from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and schema coverage is 100%, so there is no parameter semantics for the description to explain. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation id restated verbatim, so it is tautological relative to the name. It does hint at an 'organisation issues status' resource, but it never states whether it returns the set of statuses, the status of a specific issue, or an aggregate, and it does not distinguish itself from the close siblings organisation_issues_list, organisation_issues_retrieve, or findings_status_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternative tools. An agent has no basis in the description for choosing this over the many sibling organisation_issues endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_issues_updateApi organisation issues updateDIdempotent
api_organisation_issues_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: no mention of required permissions, what happens to fields omitted from the body, or whether the update is full-replace versus merge.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that is under-specification rather than conciseness: a single identifier-like token carries no front-loaded information, and nothing earns a place because nothing is communicated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a free-form body parameter, 0% schema coverage, and no output schema, the description supplies none of the context needed to call it correctly. There is no field list, no example body, and no return-value hint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two parameters: 'id' (string) and 'body' (arbitrary object or null). The description does not explain what 'body' should contain or which organisation-issue fields are accepted, leaving the agent with an untyped free-form object and no documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool name restated with underscores: 'api_organisation_issues_update'. It implies an update to an organisation issue but adds no verb framing, scope, or distinction from siblings like ciso_assistant_api_organisation_issues_partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this versus partial_update, batch_action_create, or destroy. The agent must infer choose-behaviour entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_objectives_batch_action_createApi organisation objectives batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnly=false, destructive=false, idempotent=false, openWorld=true, so the safety profile is known. The description adds nothing beyond that: it doesn't say what actions are supported, what happens to non-selected fields, or that the operation is non-idempotent — the one piece an agent most needs before retrying.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, but it is concise to the point of vacuity — the single sentence could have carried the resource name and action semantics at no cost in length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a bulk-mutation endpoint with no annotations beyond hints, an empty input schema, and no output schema, the description should at minimum specify the resource, the supported actions, and the payload shape. It supplies none of these, so an agent cannot invoke it correctly from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter count is 0 with 100% (vacuous) schema coverage, so the baseline would be 4. However, the schema is completely empty with additionalProperties=false, meaning the tool accepts no inputs at all; the description does not explain how objects or the action are conveyed, leaving a real gap that the schema cannot fill.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the name generically: "Perform a batch action on multiple objects" never names the resource (organisation objectives) or what a batch action consists of. Nothing distinguishes it from the dozens of sibling *_batch_action_create tools. Only the tool name carries the resource, so the description adds essentially no clarifying information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use batch action versus the single-object update/partial_update siblings, no mention of prerequisites (object IDs, selected action). The agent must infer everything from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_objectives_cascade_info_retrieveApi organisation objectives cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered elsewhere. 'Cascade preview' weakly reinforces that this is a non-mutating preview, but adds nothing about what the cascade contains, its size, cost, or permissions required. With annotations carrying the burden, this is a minimal addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The fragment is short and technically front-loaded, but it is under-specified rather than concise. Brevity here costs the agent almost all actionable information, so the few words do not earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one undocumented parameter, no output schema, and no explanation of what a 'cascade preview' returns, the description is essentially empty. Nothing tells the agent what to expect back or how to interpret the preview.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage and the description says nothing about it. An agent cannot tell whether id refers to an organisation objective, a folder, or a root node for the cascade. The description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the fragment 'Cascade preview:', which hints at a preview operation but never states a verb, resource, or scope. Because the sibling set contains dozens of *_cascade_info_retrieve tools (journeys, actors, answers, presets, etc.), an agent gets no help distinguishing this organisation-objectives variant from its near-identical siblings beyond the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when to prefer object_retrieve or list instead, or what the preview is for. The two-word fragment provides no context that would route an agent to this tool over its many cascade_info siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_objectives_createApi organisation objectives createD
api_organisation_objectives_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so the safety profile is known, but the description adds nothing beyond that — no payload expectations, no permission/auth requirements, no statement about what is created or returned. It does not contradict the annotations, but it contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but it is under-specification rather than conciseness; a single restated identifier earns no place and provides no front-loaded information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write/create endpoint taking a free-form body with no output schema and no documented fields, the description should carry essentially all the burden — and it carries none. An agent has nothing to work with beyond the endpoint name and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single `body` parameter is an untyped object with 0% schema description coverage, and the description offers no indication of which fields (name, health, status, ref_id, etc.) the body should contain. With the schema fully silent and the description equally silent, an agent cannot construct a valid call from the definition alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool's own snake_case identifier restated, so it is a tautology rather than an explanation. The name implies creating organisation objectives, but the description adds no verb-resource statement or scope of its own and does nothing to distinguish it from siblings like organisation_objectives_duplicate_create or organisation_objectives_batch_action_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling to prefer for related operations (update, partial_update, duplicate_create, batch_action_create). An agent can only infer usage from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_objectives_destroyApi organisation objectives destroyDDestructiveIdempotent
api_organisation_objectives_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state destructiveHint=true, idempotentHint=true and openWorldHint=true, and the description adds literally nothing — no statement of what is destroyed, whether cascade deletion occurs, whether permissions are required, or what happens to linked objects. The full burden falls on annotations, and the description contributes zero.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that shortness is under-specification rather than conciseness: there is no useful sentence to front-load. The text is an identifier, not prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema and no documented parameters, the description should at minimum describe the target resource, deletion semantics, and id expectations. None of that is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the description must compensate — yet it says nothing about what the id identifies or its format. Compare this to the 0-parameter baseline of 4, which does not apply here because there is one undocumented parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation identifier repeated verbatim ('api_organisation_objectives_destroy'), which only tautologically restates the name and title. It does implicitly encode a verb (destroy) and a resource (organisation objectives), so it isn't entirely meaningless, but it offers no sanctioned-language statement of what the tool does and nothing to separate it from siblings like organisation_objectives_update or organisation_objectives_partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to delete an objective versus updating, deactivating (is_active endpoints exist), or duplicating it, and no stated prerequisites. The agent receives no information about alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_objectives_duplicate_createApi organisation objectives duplicate createD
api_organisation_objectives_duplicate_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, and the description adds nothing beyond them. It does not say what gets copied (fields, related links, status), whether the duplicate starts as a draft, or whether the operation is safe to retry — notable gaps given idempotentHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single line is short, but that brevity reflects under-specification rather than efficient communication. There is no front-loaded statement of what operation is performed or what it returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a non-idempotent, non-read-only creation tool with no output schema and an undocumented parameter; the description supplies none of the context needed to invoke it correctly. Sibling tools in this API namespace carry richer descriptions, so the omission is avoidable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, 'id', with 0% schema description coverage, and the description never mentions it. An agent must guess whether the id refers to the source objective, the target, or a folder, and whether it is an internal PK or a ref_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name and title ('api_organisation_objectives_duplicate_create'), which is the definition of tautology under this rubric. An agent can infer duplication of an organisation objective, but only from parsing the identifier itself, not from any explanatory sentence. Nothing distinguishes it from the sibling ciso_assistant_api_organisation_objectives_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this instead of organisation_objectives_create, organisation_objectives_retrieve, or the batch_action sibling. No preconditions, no exclusions, no alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_objectives_health_retrieveApi organisation objectives health retrieveCRead-onlyIdempotent
api_organisation_objectives_health_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description contributes nothing beyond that — it doesn't explain what a 'health' payload contains (scores, stale objectives, counts) or whether it requires authentication, which is the only value it could add here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is no wasted text, but that is only because there is no text at all. This is under-specification rather than conciseness — a single identifier string carries no front-loaded information for an agent to act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description is the only place an agent can learn what this endpoint returns, and it says nothing. For a zero-arg retrieval tool whose whole value is the shape of its response, that leaves a material gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is trivially complete, so the baseline of 4 applies. There are no parameter semantics for the description to clarify or omit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the tool name repeated verbatim ('api_organisation_objectives_health_retrieve'), which is a tautology. It hints at a resource (organisation objectives) and an action (retrieve health) but never states in plain language what 'health' means or what is returned, and provides no differentiation from siblings like organisation_objectives_status_retrieve or organisation_objectives_is_active_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives. The agent must infer from the name alone whether this supersedes status_retrieve or is_active_retrieve, which it cannot reliably do.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_objectives_is_active_retrieveApi organisation objectives is active retrieveCRead-onlyIdempotent
api_organisation_objectives_is_active_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is fully covered and the description cannot contradict it. However, the description adds nothing beyond those structured fields — no indication of what is queried, whether authentication or a specific objective scope is required, or what form the response takes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short with no wasted clauses, but the brevity comes from under-specification rather than economy — the single tokenized phrase conveys nothing front-loadable because there is no real content. Conciseness without information does not earn a high score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description carries the full burden of explaining the return value (presumably an active/inactive determination for organisation objectives), and it does not. An agent cannot determine what it will receive or how to use the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. No parameter-level value could be added here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim ('api_organisation_objectives_is_active_retrieve'), a tautology that restates the title without stating what the endpoint returns or does. The name hints at organisation objectives and an 'is active' concept, but the description contributes no verb-plus-resource explanation, and the 'is_active' semantics (a boolean flag? a filtered list of active objectives?) remain ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to call this versus the many adjacent siblings such as organisation_objectives_retrieve, organisation_objectives_status_retrieve, or organisation_objectives_health_retrieve. An agent has no basis for choosing this tool over those.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_objectives_listApi organisation objectives listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| health | No | ||
| issues | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| ordering | No | ||
| is_active | No | ||
| max_pages | No | ||
| assigned_to | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive, so the safety profile is covered. The description adds nothing behavioral (no pagination, filtering, or scope notes) and instead frames the tool as a serializer-internal override, which tells the agent nothing about the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, so there is no bloat, but it is under-specified rather than concise: the single sentence is spent on an internal implementation note instead of on the resource and its filters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 12-parameter, zero-coverage list endpoint with no output schema needs the description to explain filters, pagination and returned fields. The description covers none of that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Twelve parameters (id, limit, folder, health, issues, offset, search, status, ordering, is_active, max_pages, assigned_to) with 0% schema description coverage, and the description explains none of them. An agent has no way to know what these filters mean, especially health/issues enum-like fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text restates that this is a list method but never names the resource: it never says it lists organisation objectives, and 'inject optimized data into the serializer context' is internal implementation detail an agent cannot act on. Only the tool name conveys the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus the many sibling list endpoints (e.g. organisation_objectives_retrieve, object_retrieve, or other organisation_* lists). The description offers no usage context whatsoever.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_objectives_object_retrieveApi organisation objectives object retrieveDRead-onlyIdempotent
api_organisation_objectives_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully carried by structured data. The description adds no behavioral context of its own — not what a 404 means, not whether the caller needs object-level permissions, not how the response relates to the list endpoint — so it contributes nothing 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is certainly short, but brevity here is under-specification rather than conciseness — the single fragment carries no information an agent could act on. Nothing is front-loaded because nothing is stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even for a simple single-record GET with no output schema, the definition is inadequate: it never states what an 'organisation objective' is in this product, what the response contains, or how it differs from the sibling retrieve endpoint. An agent would be guessing on every call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the undocumented 'id' parameter and does not. It gives no indication of whether the id is an integer, UUID, ref_id, or slug, nor where an agent would obtain a valid value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated verbatim in snake_case, so it restates the title rather than explaining the operation. It does at least imply a fetch of an organisation-objective record, but it never distinguishes that from the highly similar siblings organisation_objectives_retrieve, organisation_objectives_list, or organisation_objectives_object_retrieve-adjacent endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus the many alternatives — notably organisation_objectives_retrieve, which the agent cannot differentiate from this one. No prerequisites, no id-source hints, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_objectives_partial_updateApi organisation objectives partial updateD
api_organisation_objectives_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=true, but the description adds nothing — no mention of what fields are mutated, partial-update semantics, permissions, or side effects. No contradiction, but zero added value beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token with no structural waste, but this is under-specification rather than conciseness. Nothing is front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, an untyped body parameter, and only annotation-derived safety hints, the description is completely inadequate — an agent cannot determine what a partial update accepts or changes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description provides no parameter information whatsoever. The 'body' parameter is an untyped free-form object with no hints about acceptable fields, so the description badly needs to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the operation ID repeated verbatim ('api_organisation_objectives_partial_update'), which restates the name rather than explaining it. It conveys no verb, resource scope, or semantics beyond what the tool name already encodes. It is a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to use this tool, when not to, or how it differs from siblings like ciso_assistant_api_organisation_objectives_update (full update) or _object_retrieve. An agent must infer everything from the name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_objectives_retrieveApi organisation objectives retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior, so the bar is lower. The description adds useful context beyond annotations by revealing that unauthorized related fields are masked, which is a meaningful authorization-dependent behavior. It could go further by explaining what 'unauthorized' means or what errors occur, but it does contribute real contextual value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, but it is under-specified rather than concise. It does not front-load the resource or operation, which makes it less useful for quick tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieve tool with no output schema, the description should clarify the resource, the required identifier, and the return shape. It only states that a single object is returned with masked fields and omits everything else an agent would need to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the single required 'id' parameter is not described in the schema or the description. The description never mentions that an ID is needed or what kind of ID it is, leaving the parameter semantics entirely undocumented beyond the field name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Return a single object with unauthorized related fields masked,' which is a vague purpose: it never names the resource (organisation objective) or clarifies that it retrieves one by ID. An agent must infer the target from the tool name rather than the description, though the masking detail does add some specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus siblings such as organisation_objectives_list, organisation_objectives_object_retrieve, or organisation_objectives_retrieve. There are no prerequisites, exclusions, or alternative routes mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_objectives_status_retrieveApi organisation objectives status retrieveCRead-onlyIdempotent
api_organisation_objectives_status_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the description is not contradicted, but it adds nothing beyond them — no mention of what 'status' aggregates, whether it is scoped to the caller's organisation, or any auth/caching behaviour. For an openWorld read with no output schema, at least some disclosure of the returned shape was expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than economy: a single identifier string earns nothing and is not front-loaded with any actionable content. There is no wasted sentence, but there is also essentially no sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description is the only source of information about what this endpoint returns, and it supplies none. An agent cannot tell whether it gets a status enum, a per-objective breakdown, or an aggregated count, which is insufficient for a zero-input, zero-output-schema tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing for the description to clarify and the baseline of 4 applies. The description neither helps nor harms here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation ID repeated verbatim ('api_organisation_objectives_status_retrieve'), which is a tautological restatement of the name and title rather than a statement of what the tool does. An agent can infer a read of some 'objectives status' resource, but nothing more, and nothing distinguishes it from sibling reads such as organisation_objectives_health_retrieve or organisation_objectives_is_active_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this endpoint versus the neighbouring organisation_objectives_retrieve, organisation_objectives_health_retrieve, organisation_objectives_is_active_retrieve, or organisation_objectives_list tools. With several near-identical 'status'-style reads in the sibling set, the absence of any routing guidance is a real failure, not merely a gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_organisation_objectives_updateApi organisation objectives updateDIdempotent
api_organisation_objectives_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered by structured data. The description adds nothing beyond that — no note on which fields are replaced by a full update, whether omitted fields are cleared, or permission/auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it conveys no information beyond the name; this is under-specification rather than conciseness. There is no front-loaded statement of action, scope or effect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with a free-form body, no output schema and 0% parameter documentation needs the description to carry everything. It carries nothing, leaving an agent unable to determine payload shape or update semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the body is an untyped anyOf object with additionalProperties=true; neither schema nor description says what fields the update payload accepts. The single required 'id' is undocumented as to format (UUID vs integer string).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name with separators removed ("api_organisation_objectives_update"), so it only restates the title. From the name alone an agent can infer an update operation on organisation objectives, but no verb+resource statement or scope is actually provided.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many siblings that look nearly identical (organisation_objectives_partial_update, _update is the only full-update variant, plus _destroy, _create, _duplicate_create). The full-vs-partial distinction, which is the key selection decision here, is never mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_perimeters_batch_action_createApi perimeters batch action createD
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true; the description adds nothing beyond that. For a non-idempotent write endpoint it should disclose the allowed action types, that a payload body is expected, and whether the operation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, so there is no verbosity problem, but it is under-specified rather than concisely informative. Nothing is front-loaded beyond the naming of the endpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An empty input schema, no output schema, and a one-line generic description leave the agent with no information about action semantics, payload expectations, permissions, or results. This is not enough to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters with additionalProperties=false, and schema_description_coverage is 100%, so the baseline applies. The description still leaves an agent unsure how the target objects and action type are conveyed, which is a meaningful gap for a 'batch action' tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'perform a batch action on multiple objects', which is a generic verb+object pair that could describe any of the ~200 sibling *_batch_action_create tools. It never names 'perimeters' (the resource is only in the tool name) and never says what batch actions exist, so an agent cannot distinguish this from ciso_assistant_api_frameworks_batch_action_create or ciso_assistant_api_assets_batch_action_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to use this versus the perimeters_create/update/destroy siblings, nor versus the many other batch endpoints. Nothing indicates when a batch call is preferable to individual calls.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_perimeters_cascade_info_retrieveApi perimeters cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is covered. The description contributes only the vague word "preview" and does not explain what a cascade preview actually returns or why it differs from a normal retrieve, so added value is minimal though not contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but this is under-specification rather than conciseness: a two-word fragment with a trailing colon that conveys almost nothing and is not front-loaded with any actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain what the cascade preview returns and how it relates to the other perimeters endpoints; it does neither. Against a very crowded sibling namespace, this leaves the agent without what it needs to call the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there is a single required `id` parameter whose meaning (which object's id? a perimeter id?) is never clarified in the description or schema. One undocumented param prevents the zero-param baseline of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" hints at the resource concept (cascade info) but is a fragment, not a verb+resource statement. It does not distinguish this tool from the dozens of sibling `*_cascade_info_retrieve` tools, and never says it operates on perimeters (that comes only from the name).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives such as the plain perimeters retrieve, and no stated preconditions. The agent is left to infer everything from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_perimeters_createApi perimeters createD
API endpoint that allows perimeters to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false, so safety is covered. The description adds nothing beyond that: no mention of what is created, what permissions are needed, whether the body is required, or what happens on conflicting/duplicate perimeters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no wasted clauses, and it is front-loaded. But brevity here comes from under-specification rather than economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A write endpoint with an opaque free-form body, no output schema, and no annotations explaining required payload contents. The description gives an agent nothing to construct a valid create call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One parameter (body) with 0% schema description coverage and a bare anyOf object, and the description explains nothing about its expected shape or fields. This is exactly the case where the description must compensate for the schema and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint lets perimeters be "viewed or edited", but the tool is a create endpoint named perimeters_create; creation is never mentioned. It also fails to differentiate from the many sibling perimeter tools (list, retrieve, update, partial_update), so it reads as generic DRF boilerplate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus perimeters_list, perimeters_retrieve, perimeters_update or perimeters_partial_update. The only usage hint given ("viewed or edited") actually points an agent away from the create operation it performs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_perimeters_destroyApi perimeters destroyDDestructiveIdempotent
API endpoint that allows perimeters to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, but the description frames the operation as viewing or editing. This directly contradicts the destructive nature of the tool and gives no warning about deletion, permissions, or irreversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, so it is concise, but that sentence is misleading rather than informative. It does not earn its place because it describes the wrong operation for a destructive endpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with a required identifier, no output schema, and no parameter descriptions, the description should clarify deletion semantics and prerequisites. Instead it omits the core behavior and contradicts the annotations, leaving an agent unable to call it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required 'id' parameter with 0% description coverage, and the description provides no information about what the id identifies or how it is used. The description does not compensate for the missing schema documentation at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint allows perimeters to be 'viewed or edited,' which is misleading for a tool named and annotated as destroy. It identifies the resource but states the wrong operation, so an agent cannot infer that this deletes a perimeter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or which sibling should be used instead. Worse, the description implies viewing/editing, which could steer an agent toward a destructive operation under the false impression that it is harmless.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_perimeters_ids_retrieveApi perimeters ids retrieveCRead-onlyIdempotent
API endpoint that allows perimeters to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, yet the description says perimeters can be "viewed or edited" — implying write capability the annotations deny. Beyond that tension it adds nothing (no payload shape, no ID-vs-full-object behavior), so the annotations do nearly all the work.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, so it is compact and front-loaded, but the one clause it does contain ("or edited") is boilerplate that misleads rather than informs. Brevity here comes from under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and the description does not say what a retrieve of "ids" returns (e.g., a list of identifiers vs. full perimeter records) or how it differs from the plain retrieve endpoint. For a zero-parameter read tool in a very dense sibling namespace, that gap matters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty with additionalProperties=false, so there is nothing for the description to disambiguate. Baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST boilerplate ("allows perimeters to be viewed or edited") that restates the endpoint name without saying what it actually returns. It does not explain the distinguishing "ids" semantics versus siblings like ciso_assistant_api_perimeters_retrieve, _list, or _object_retrieve, so an agent cannot tell these apart from the text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the many sibling perimeter tools (list, retrieve, object_retrieve, names_retrieve) that could serve overlapping needs. The agent must infer selection from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_perimeters_lc_status_retrieveApi perimeters lc status retrieveCRead-onlyIdempotent
API endpoint that allows perimeters to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says perimeters can be 'edited', while annotations declare readOnlyHint=true and destructiveHint=false. That is a direct contradiction, and the description adds no real behavioral context about what this retrieve endpoint returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, so it is concise and front-loaded. However, that sentence is generic boilerplate and contains a misleading claim, so it does not fully earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain that this endpoint likely returns lifecycle status choices. Instead, it omits the meaning of 'lc_status' entirely and gives no return-value context, leaving an agent unable to understand the endpoint's result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics to explain. The baseline for a 0-parameter tool is 4, and the description does not need to compensate for missing schema coverage here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('perimeters') but not the actual subject of the endpoint: the lifecycle status ('lc_status') collection. 'Viewed or edited' is generic DRF boilerplate that does not distinguish this tool from perimeters_retrieve, perimeters_list, or perimeters_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to call this endpoint versus the many sibling perimeters endpoints. An agent has no basis for choosing this over perimeters_retrieve or perimeters_list from the description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_perimeters_listApi perimeters listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| campaigns | No | ||
| lc_status | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered. The description adds no behavioral context at all — no pagination behavior despite limit/offset/max_pages parameters, no filtering semantics, no return shape — and instead spends its only sentence on serializer internals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, so it is not bloated, but the single sentence is spent on an irrelevant implementation note rather than on what the tool returns or how to filter. Brevity here costs clarity rather than buying it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 10-parameter listing tool with no output schema and no parameter documentation leaves an agent unable to construct a correct call — it cannot know how to filter, sort, or paginate. The description supplies none of that missing information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Ten parameters with 0% schema description coverage, and the description explains none of them. Filters like name, folder, campaigns, lc_status, search, ordering, limit/offset and max_pages are entirely undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Override the list method to inject optimized data into the serializer context' describes an internal Django implementation detail, not a user-facing capability. It never says the tool lists perimeters, nor what a perimeter is, so an agent must infer the resource purely from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the many siblings (perimeters_retrieve, perimeters_object_retrieve, perimeters_names_retrieve, perimeters_ids_retrieve, perimeters_cascade_info_retrieve). Nothing states it is the collection-listing entry point for perimeters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_perimeters_names_retrieveApi perimeters names retrieveCRead-onlyIdempotent
API endpoint that allows perimeters to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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's claim that perimeters can be 'edited' at an endpoint with zero parameters and a read-only annotation adds confusion rather than context; nothing is said about the shape or scope of the returned names.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no rambling, but the opening 'API endpoint that allows...' is filler that consumes most of the text without conveying anything specific. It is concise but nearly content-free.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place to state what this returns (a list of perimeter names, and in what form), and it does not. An agent cannot tell from the definition what calling this endpoint yields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. No parameter-level value could have been added here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence is generic DRF boilerplate that only restates the title: it says perimeters can be 'viewed or edited' but never explains what the 'names' segment returns (presumably a name/id lookup list). It gives no way to distinguish this from sibling endpoints such as ciso_assistant_api_perimeters_list, _retrieve, _object_retrieve, or _ids_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this instead of the many other perimeters read endpoints, nor any prerequisites. The only usage signal ('edited') points in a direction that is not actually available here, so an agent has nothing reliable to select on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_perimeters_object_retrieveApi perimeters object retrieveDRead-onlyIdempotent
API endpoint that allows perimeters to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows perimeters to be 'viewed or edited', but annotations declare readOnlyHint=true and destructiveHint=false. Claiming edit capability directly contradicts the read-only annotation, leaving the agent confused about whether this call can mutate data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no bloat, but the content is boilerplate rather than front-loaded substance. Brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no information about what a perimeter record contains or how the lookup by id behaves (e.g., 404 if missing), the description is too thin for an agent to call the tool reliably. It omits everything the structured fields do not already carry.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has a single required 'id' parameter with 0% description coverage, and the description never mentions it, its expected format (e.g., UUID), or how to obtain it. The description adds no meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (perimeters) but uses the vague verb pair 'viewed or edited', which is essentially a restatement of a generic DRF endpoint docstring. It does nothing to distinguish this object_retrieve endpoint from the many sibling tools such as ciso_assistant_api_perimeters_retrieve, _list, or _update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the listed/retrieve/object_retrieve siblings, no preconditions, and no exclusions. The agent must infer everything from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_perimeters_partial_updateApi perimeters partial updateD
API endpoint that allows perimeters to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: it does not explain that only supplied fields are merged, what happens to omitted fields, whether write permission on the perimeter is required, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so there is nothing to trim. However, brevity here comes from boilerplate rather than from front-loading useful information, so it is concise without being informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a fully opaque free-form body, no output schema, and 0% parameter documentation, this description leaves an agent unable to construct a correct call. Everything the agent must know about the patch payload has to be guessed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters, and the description compensates for none of it. The free-form 'body' object (anyOf object/null with additionalProperties allowed) is entirely undocumented, leaving the agent with no idea which perimeter fields are patchable or what format they take.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST-Framework boilerplate ('API endpoint that allows perimeters to be viewed or edited') that never states the tool's actual operation, a partial update. It gives no basis for distinguishing this from siblings like perimeters_update, perimeters_retrieve, or perimeters_list, which the same boilerplate would fit equally well.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: nothing says whether to pick this versus perimeters_update (full replacement) or perimeters_retrieve (read). 'Viewed or edited' actually blurs the distinction rather than clarifying it, and no prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_perimeters_quality_check_retrieveApi perimeters quality check retrieveCRead-onlyIdempotent
Returns the quality check of the perimeters
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds nothing beyond that: it does not say what a "quality check" measures, whether it is scoped to all perimeters or a single one, or how expensive the call is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler or redundancy. It is efficient, though its brevity borders on under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description bears the burden of describing the return value, and it does not — an agent cannot tell whether it gets a boolean, a list of issues, or per-perimeter scores. For a no-arg endpoint whose only value is its response payload, this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema carries no semantics that need explaining. The baseline of 4 applies; the description neither adds nor omits parameter meaning because none exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a verb ("Returns") and a resource ("the quality check of the perimeters"), so the general intent is clear. However, "quality check" is unexplained domain jargon, and the description gives no way to distinguish this tool from its near-identical sibling ciso_assistant_api_perimeters_quality_check_retrieve_2.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the perimeters list/retrieve tools, or versus the duplicated _2 variant. The agent must infer the trigger condition entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_perimeters_quality_check_retrieve_2Api perimeters quality check retrieve 2CRead-onlyIdempotent
Returns the quality check of the perimeter
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds nothing beyond restating the purpose - it doesn't say what the quality check evaluates, whether the ID must reference an existing perimeter, or what errors occur for missing IDs. With annotations doing the safety work, a 2 reflects that the description contributes no 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, and the purpose is front-loaded. It is efficient, though efficiency here partly reflects under-specification rather than tight writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should describe the returned quality-check payload - it doesn't. Combined with zero parameter coverage and no differentiation from the sibling retrieve tool, an agent lacks information needed to call this correctly or interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the description must compensate - and it does not. It never states that 'id' is the perimeter identifier, nor its format (UUID vs integer), even though that is the only input. This is a clear gap for a low-coverage schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a verb ("Returns") and a resource ("the quality check of the perimeter"), which is enough to know broadly what it does. However, it does not distinguish this tool from its near-identical sibling ciso_assistant_api_perimeters_quality_check_retrieve, and the trailing "_2" in the name gives no hint about what differs. An agent cannot tell which of the two to call from this text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when this tool should be used versus the sibling quality-check retrieve, other than the tool name. No prerequisites, no exclusions, no alternatives are mentioned. The agent is left to infer the distinction entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_perimeters_retrieveApi perimeters retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorld, so the safety profile is covered. The description adds one genuinely useful behavioral trait beyond that: related fields the caller is not authorized to see are masked in the response. It does not say which fields get masked or what the response looks like, so the added value is real but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, and the notable bit (masking) is not buried. It is efficient, though it spends its only sentence on a detail rather than the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only single-object fetch with no output schema, the description covers the masking caveat but leaves the returned shape, error behavior, and the identity of the resource implicit. Adequate but with clear gaps for an agent deciding between the several perimeters retrieve variants.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'id' property has no documented type, meaning, or format. The description does nothing to compensate – it never ties the required id to a perimeter identifier (e.g. UUID), which is exactly the gap it should fill at this coverage level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Return a single object' names a verb and cardinality, but never states the resource (a perimeter) or acknowledges the many siblings such as perimeters_object_retrieve, perimeters_list, or perimeters_names_retrieve. An agent must rely on the tool name alone to know what is retrieved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this instead of perimeters_list, perimeters_object_retrieve, or perimeters_cascade_info_retrieve. There is no mention of prerequisites, required ID format, or what happens on a missing/inaccessible record.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_perimeters_updateApi perimeters updateDIdempotent
API endpoint that allows perimeters to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
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 safety profile is covered. The description adds nothing beyond them: it never says the body replaces the record (vs. PATCH semantics), what happens to omitted fields, or that auth is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is concise. But the brevity comes from under-specification rather than tight writing, and "viewed or edited" muddies the front-loaded point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with no output schema, a 0%-documented free-form body, and many near-identical sibling tools, the description supplies nothing an agent needs to invoke it correctly. It is essentially the auto-generated DRF docstring.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% with two parameters, including a free-form `body` object with `additionalProperties: true` and no documented fields. The description gives no hints about what belongs in the body or what `id` refers to, so it fully fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint that allows perimeters to be viewed or edited" merely restates the tool name and conflates mutation with retrieval. It does not say this is the full-update (replace) operation, so an agent cannot distinguish it from ciso_assistant_api_perimeters_partial_update or perimeters_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no routing to the obvious alternatives (partial_update for partial changes, retrieve for reading). The "viewed or edited" phrasing actively invites the wrong choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_accreditations_batch_action_createApi pmbok accreditations batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, non-idempotent, non-destructive, open-world, so the description owes context on what a batch action actually does (which operations, partial failures, limits). It supplies none of that, and given the empty schema, the agent cannot tell how objects and the action are supplied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no waste, but it is vacuous rather than efficient: every word could apply to any of the ~200 sibling batch tools, so length is not buying clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world batch mutation with no output schema and a suspiciously empty input schema, the description should explain payload shape, supported actions and error behavior. It contains nothing beyond the generic title, leaving the agent without enough to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter count is 0, which normally justifies the baseline 4, but the schema is an empty object with additionalProperties=false, which is implausible for a batch mutation and is not explained anywhere. The description adds no information about how the target objects or chosen action are conveyed, so it only reaches the minimum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title almost verbatim ("Perform a batch action on multiple objects") without naming the resource (PMBOK accreditations) or the actions supported. It is nearly indistinguishable from the dozens of sibling *_batch_action_create tools; only the tool name carries the subject.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this batch endpoint versus the sibling per-object create/partial_update/update/destroy tools, nor any prerequisite or exclusion. The reader is left to infer that batch means multi-object mutation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_accreditations_cascade_info_retrieveApi pmbok accreditations cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 nothing beyond that — it doesn't say what a 'cascade' returns, what object graph is traversed, or whether the 'preview' is computed live. A 2 reflects that the fragment is barely more informative than structured fields alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but shortness here is under-specification, not concision: the single fragment is not even a complete sentence and carries no actionable content. Nothing is front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations covering semantics, no parameter docs, and an ambiguous concept ('cascade'), the description should carry the burden and does not. An agent cannot reliably invoke this tool correctly on the basis of the definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter `id` with 0% schema description coverage, so the description must compensate — but it never mentions `id` at all. The agent has to guess whether it is the accreditation's primary key, a project id, or a folder id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a two-word fragment, 'Cascade preview:', which restates the tool name rather than stating what the call actually does. It never explains what 'cascade info' means for a PMBOK accreditation, nor how this differs from the dozens of sibling `*_cascade_info_retrieve` endpoints (actors, assets, frameworks, journeys, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given at all. The agent cannot tell whether this is for checking deletion impact before a destroy, previewing dependent objects, or something else, and no alternative (e.g. `ciso_assistant_api_pmbok_accreditations_retrieve`) is named or contrasted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_accreditations_category_retrieveApi pmbok accreditations category retrieveCRead-onlyIdempotent
api_pmbok_accreditations_category_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered; the description adds nothing beyond them. It does not say what a 'category' response contains, whether it is a static enum list, or whether authentication/tenant scope matters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is a bare identifier copy rather than a sentence that front-loads useful information. Brevity here reflects under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description is the only place to explain that this returns the set of PMBOK accreditation categories (likely a choice/enum list used for populating other calls). That explanation is entirely absent, leaving the agent unable to predict the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema-completeness baseline of 4 applies; there are no parameters whose meaning the description would need to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool identifier restated verbatim ('api_pmbok_accreditations_category_retrieve'), with no human-readable verb or resource phrasing. An agent can infer this is a read of accreditation categories only by parsing snake_case, and nothing distinguishes it from the sibling 'accreditations_status_retrieve' or 'accreditations_list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this rather than the many pmbok_accreditations siblings (list, object_retrieve, status_retrieve, cascade_info_retrieve). The name hints at a 'category' enumeration but the description provides no usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_accreditations_createApi pmbok accreditations createD
api_pmbok_accreditations_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false, but the description adds nothing about what a create does, permission requirements, or whether re-posting duplicates. With zero additional behavioral context, the description contributes nothing beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely short, but the brevity is under-specification rather than efficient information density — the single fragment contains no information content at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with an opaque free-form body, no output schema, and no annotations covering payload shape should describe the expected body. The description supplies none of this, so an agent cannot call it reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single 'body' parameter with an untyped anyOf object and 0% schema description coverage, so the agent has no idea what fields an accreditation payload expects. The description provides no compensating detail about required or optional body properties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw endpoint identifier repeated verbatim ('api_pmbok_accreditations_create'), giving no verb-plus-resource statement in natural language. An agent can only infer 'create an accreditation' by parsing the slug, which is exactly what the tool name already provides.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus the sibling pmbok_accreditations_update, _partial_update, _batch_action_create, or _list. No prerequisites, no mention of the parent PMBOK project context required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_accreditations_destroyApi pmbok accreditations destroyDDestructiveIdempotent
api_pmbok_accreditations_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is carried by structured data and the description does not contradict it. However, the description adds nothing beyond that: no statement about what gets destroyed, whether related PMBOK objects are cascade-deleted, or whether the operation is recoverable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness: a single bare identifier that front-loads nothing and gives the reader no information beyond the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world mutation with an undocumented id parameter and no output schema, the description provides no information at all about effects, side effects, or return behavior, leaving the agent unable to call it responsibly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter, id, with 0% description coverage, so the description carries the full burden and says nothing about it. The agent gets no hint that id is the accreditation identifier, nor its format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the snake_case tool identifier repeated verbatim, restating the name with no verb+resource phrasing, no scope, and no differentiation from the many other *_destroy siblings such as ciso_assistant_api_pmbok_projects_destroy or pmbok_generic_collections_destroy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to delete an accreditation versus updating it, no mention of prerequisites or cascading effects, and no reference to alternatives like partial_update or batch_action_create.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_accreditations_listApi pmbok accreditations listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| author | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| category | No | ||
| ordering | No | ||
| authority | No | ||
| checklist | No | ||
| max_pages | No | ||
| filtering_labels | No | ||
| linked_collection | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so basic safety is covered. The description adds only an internal serializer-context note and no user-relevant behavior such as pagination, permissions, filtering, or response behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but focuses on implementation rather than the task, making it under-specified rather than efficiently concise. There is no front-loaded statement of the action, scope, or return values.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter list endpoint with no output schema and zero schema descriptions, this definition is far too thin for an agent to call it correctly. It lacks filtering, pagination, ordering, and any indication of what PMBOK accreditation data is returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 14 parameters with 0% schema description coverage, and the description names none of them nor explains filters such as status, category, author, folder, or ordering. Since the schema itself is untyped and undocumented, the description completely fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never states that the tool lists PMBOK accreditations or what data it returns; it describes an internal implementation detail ('Override the list method to inject optimized data into the serializer context'). An agent cannot infer the user-facing purpose from this text, even though the tool name hints at a list endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this list endpoint versus alternatives such as other PMBOK list/retrieve endpoints, and no explanation of filters, exclusions, or prerequisites. The description gives an agent no basis for choosing this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_accreditations_object_retrieveApi pmbok accreditations object retrieveDRead-onlyIdempotent
api_pmbok_accreditations_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds no behavioral context at all — no note on what the object contains, error behavior for a bad id, permissions, or whether a 404 is returned for missing records.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single repeated identifier with zero informational content. This is under-specification rather than conciseness; there is no front-loaded statement of purpose to trim because none exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotation-independent explanation, an undocumented required parameter, and eleven closely named siblings for the same resource, the description leaves an agent with no information needed to invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, so the description carries the full burden — but it says nothing. It does not state that the id is the accreditation record's primary key, nor what form (UUID vs integer-as-string) it takes, leaving type and source ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the identifier string repeated verbatim ('api_pmbok_accreditations_object_retrieve'), which is a tautology of the name/title. Only the embedded verb 'retrieve' hints that this is a read operation on a PMBOK accreditation object; no plain-language statement of what is fetched is given, and nothing distinguishes it from the many sibling *_object_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool, when not to, or which alternative to pick. The sibling list contains ciso_assistant_api_pmbok_accreditations_retrieve, _list, _cascade_info_retrieve and _status_retrieve, and the description gives no basis for choosing among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_accreditations_partial_updateApi pmbok accreditations partial updateD
api_pmbok_accreditations_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, and the name does not contradict them. However, the description contributes nothing beyond those hints: no mention of what fields can be changed, whether omitted fields are preserved, or what a partial update returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but only because it is a bare identifier, not because it is efficiently written. There is no front-loaded purpose statement or structure to speak of; this is under-specification rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with an untyped free-form body parameter, no output schema, and zero schema documentation needs the description to carry substantial weight. Instead it repeats the name, leaving an agent unable to know what a valid body looks like or what the call will do.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description says nothing about either parameter. Critically, 'body' is a free-form object with additionalProperties=true and no documented shape, so the description is the only place that could enumerate the patchable accreditation fields and it omits them entirely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation identifier repeated verbatim, which only implicitly conveys 'partial update of PMBOK accreditations'. It restates the name rather than describing the operation, so an agent gets no more information than it already had from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this versus ciso_assistant_api_pmbok_accreditations_update, _object_retrieve, _list, or _batch_action_create. The 'partial_update' token hints at PATCH semantics but no conditions, prerequisites, or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_accreditations_retrieveApi pmbok accreditations retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds a useful behavioral detail beyond annotations: unauthorized related fields are masked. It remains thin on auth prerequisites, not-found behavior, and what 'related fields' means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single, front-loaded sentence with no wasted words. The terseness is efficient, though some terseness comes at the cost of missing essential context rather than being purely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve-by-id tool with no output schema and many similar sibling tools, the description is not complete enough. It omits what an accreditation object contains, how it differs from object_retrieve/list, and what the id format is, leaving the agent to infer critical selection details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description adds no information about the sole 'id' parameter, such as expected format or whether it is a UUID. The parameter name is self-explanatory enough to avoid a 1, but the description does not compensate for the undocumented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a generic action and shape ('Return a single object') but never names the resource (PMBOK accreditations). It implies single-record retrieval and contrasts implicitly with list-style siblings, but does not distinguish this from object_retrieve or cascade_info_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling retrieval tools, nor any prerequisite or context requirement. The only implied usage is 'retrieve one by id', which an agent must infer from the schema and name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_accreditations_status_retrieveApi pmbok accreditations status retrieveCRead-onlyIdempotent
api_pmbok_accreditations_status_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered elsewhere. The description adds nothing beyond that - no indication of the shape of the returned status data, caching, or scoping, so it contributes no behavioral context of its own.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single fragment identical to the tool name, so it is not verbose but is structurally under-specified - it never front-loads a verb or resource in readable prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description is the only place to explain what the returned status represents (accreditation states per PMBOK project, enumerations, etc.), and it delivers none of that. The definition is technically callable but semantically opaque.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool applies. No syntax or value semantics are needed here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw tool name repeated verbatim, which is a tautology rather than a statement of purpose. An agent cannot tell from it what 'accreditations status' means or how this differs from the many sibling *_status_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool, what conditions warrant it, or which sibling (e.g. ciso_assistant_api_pmbok_accreditations_list, _object_retrieve, _category_retrieve) it should be preferred over. The agent must infer usage entirely from the URL-style name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_accreditations_updateApi pmbok accreditations updateDIdempotent
api_pmbok_accreditations_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, so the safety profile is covered there. The description adds nothing about what fields are mutable, whether the body replaces or merges data, or what permissions are needed. It restates the name without any behavioral context beyond what the 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single identifier with no wasted words, but that is under-specification rather than conciseness. There is no front-loaded purpose statement or structure to guide use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with a free-form body, no output schema, and 0% schema coverage; the description should carry the full burden of explaining payload shape and effects. It provides none of that, leaving the agent unable to call it correctly without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and both parameters require explanation: `id` is undocumented, and `body` is a free-form anyOf object with additionalProperties=true and no field list. The description provides no parameter meaning at all, failing even the low-coverage bar.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the snake_case tool name rendered as prose: 'api_pmbok_accreditations_update'. It restates the name/title without adding a verb-resource statement, so the agent must parse the identifier itself to infer that it updates a PMBOK accreditation. It does not distinguish it from sibling operations such as partial_update, batch_action, or create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives such as ciso_assistant_api_pmbok_accreditations_partial_update or _batch_action_create. The agent must infer that the update path requires an id, and nothing clarifies when a full update is preferable to a partial one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_generic_collections_batch_action_createApi pmbok generic collections batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the safety bar is lower, but the description adds nothing: it does not say which batch actions are supported, whether they are reversible, or what permissions are needed. For a non-idempotent mutating bulk endpoint this leaves a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no filler, so it is concise, but the brevity comes from under-specification rather than efficiency. There is no wasted wording, yet almost no information is conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A bulk, non-idempotent mutation tool with an empty input schema, no output schema and no annotation-derived detail in the text. An agent cannot determine from this definition what a 'batch action' request looks like or what it returns, so the description is not complete enough to call the tool safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter count is 0, so the rubric baseline is 4, but the schema is an empty object with additionalProperties=false, meaning there is literally no documented way to identify the target objects or the action. The description does nothing to explain how the batch payload or IDs are supplied, so it earns below baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence "Perform a batch action on multiple objects" restates the name's 'batch_action' and adds only "multiple objects". It never says what the supported actions are (delete/update/link), nor which resource family is targeted beyond the opaque 'pmbok generic collections' in the name, so it is effectively tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when not to use it, and no reference to the sibling single-object tools (create/update/destroy/partial_update) that would cover the same operations one at a time. The agent must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_generic_collections_cascade_info_retrieveApi pmbok generic collections cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is carried by structured data. The description adds only the notion of a 'preview', without saying what is previewed, what the payload shape is, or whether results reflect cascade deletions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Brevity here is under-specification rather than economy; a two-word fragment with a trailing colon reads like a truncated docstring. There is nothing to front-load and no complete sentence for the agent to reason over.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, one parameter is undocumented in both schema and description, and annotations provide only hints. For a tool whose entire value is returning cascade impact data, the description gives the agent nothing about return content, scope, or prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, so the description carries the full explanatory burden. It says nothing about whether the id is the collection's UUID, the collection object or a related record, nor what a missing or invalid id yields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a two-word fragment that mostly restates the tail of the tool name rather than stating a verb and resource. It hints at a non-committal preview of cascade effects, but an agent cannot tell what 'cascade' applies to (deletion impacts? dependent objects?) or how this differs from the dozens of sibling *_cascade_info_retrieve tools that share the identical suffix.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, when-not-to-use, or alternative named. The word 'preview' weakly implies a pre-flight check, but nothing tells the agent to call this before a destroy operation, nor how it relates to ciso_assistant_api_pmbok_generic_collections_retrieve or _object_retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_generic_collections_createApi pmbok generic collections createD
api_pmbok_generic_collections_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, so the mutation profile is known from structured data. The description adds nothing beyond that: no mention of required permissions, whether duplicate collections collide, or what a successful create returns. No contradiction with annotations, but zero incremental disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically one short line, but the brevity is under-specification rather than concision: not a single sentence of actionable content is present, and there is no front-loaded explanation of the create semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write endpoint with an untyped free-form body, no output schema, and 0% parameter coverage, the description must carry the full burden of explaining payload expectations and result behavior. It does none of that, leaving the agent unable to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'body' parameter accepts an arbitrary object with additionalProperties=true and 0% schema description coverage, so the schema tells the agent nothing about the expected payload shape. The description does not name a single field, so the agent has no way to construct a valid request from either source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the snake_case endpoint identifier repeated verbatim, which is a tautology restating the name and title. An agent can infer a create operation on a 'pmbok generic collections' resource from the name itself, but the description adds no explanation of what a generic collection is or what creating one means in this API.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisites, or alternative guidance is given. The sibling list contains numerous related endpoints (generic_collections_list, _update, _batch_action_create, _partial_update) and nothing indicates when this single-create should be chosen over the batch create variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_generic_collections_destroyApi pmbok generic collections destroyDDestructiveIdempotent
api_pmbok_generic_collections_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true; the description restates none of this and adds no context such as what related objects are cascade-deleted, whether the operation is recoverable, or what permissions are needed. There is no contradiction, but the description contributes zero behavioral value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness: a single identifier repeated back earns no place and front-loads nothing useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive mutation tool with no output schema and an undocumented required identifier needs descriptive framing to be callable safely; the definition supplies none of it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the single 'id' parameter is documented nowhere. The description does not state what kind of id is expected (UUID vs ref_id) or whether it is the collection's own identifier. The parameter name is self-evident enough to avoid a 1.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal identifier 'api_pmbok_generic_collections_destroy' with no expansion into a verb-plus-resource statement. An agent gains nothing it could not already read from the tool name, and the sibling pmbok_generic_collections tools (list, create, update, retrieve, batch_action) are not differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or prerequisite information is provided. It does not mention that the corresponding retrieve/list call should be used first, nor when deletion is preferable to a status update.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_generic_collections_listApi pmbok generic collections listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| policies | No | ||
| documents | No | ||
| max_pages | No | ||
| crq_studies | No | ||
| ebios_studies | No | ||
| filtering_labels | No | ||
| risk_assessments | No | ||
| entity_assessments | No | ||
| security_exceptions | No | ||
| findings_assessments | No | ||
| compliance_assessments | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds only the internal detail that serializer context is enriched with 'optimized data' — it does not say what the enriched payload contains, whether results are paginated, or what access constraints apply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence, so it is short, but that brevity is under-specification rather than conciseness; the one sentence conveys an implementation detail an agent cannot act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 17-parameter read tool with no output schema and no parameter documentation, the description is grossly inadequate. Nothing an agent needs to construct a correct call — filter semantics, defaults, response shape — is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
17 parameters with 0% schema description coverage and the description is silent on all of them. Filters like folder, policies, documents, filtering_labels, max_pages, search, and ordering are completely undocumented, leaving an agent to guess at types, formats, and semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does for a caller. It never says it lists PMBOK generic collections, what those are, or how it relates to the sibling create/retrieve/object_retrieve/status tools. Only the name hints at the resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance at all on when to use this versus the many sibling list/retrieve tools (e.g. pmbok_generic_collections_retrieve, _object_retrieve, _cascade_info_retrieve). There are no exclusions, prerequisites, or alternative pointers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_generic_collections_object_retrieveApi pmbok generic collections object retrieveDRead-onlyIdempotent
api_pmbok_generic_collections_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description contributes nothing beyond that — no note on what object shape is returned, permissions, or failure behavior for an invalid id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short with no filler, but that brevity comes from under-specification rather than tight writing. It is not front-loaded with any actionable information because there is none.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool in a large, heavily overlapping sibling set with an undocumented identifier parameter and no output schema, the definition supplies zero disambiguating context. An agent cannot reliably select or invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter ('id') with 0% schema description coverage, so the description would need to supply its meaning and format. It says nothing; the agent must guess whether 'id' is a UUID or a slug and what it identifies within the generic-collections hierarchy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the operation ID restated in prose ('api_pmbok_generic_collections_object_retrieve'). It hints at retrieving a PMBOK generic-collection object, but adds no verb-level explanation of what is fetched or how it differs from the sibling ciso_assistant_api_pmbok_generic_collections_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool instead of ciso_assistant_api_pmbok_generic_collections_retrieve, _list, or _status_retrieve. An agent must infer the choice entirely from the slug name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_generic_collections_partial_updateApi pmbok generic collections partial updateD
api_pmbok_generic_collections_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=true), so the bar is lower, but the description adds nothing beyond them. It does not say what a partial update leaves untouched, whether omitted fields are preserved, what the response contains, or what permissions are required for a write on this resource.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token and therefore short, but this is under-specification rather than conciseness. There is no front-loaded explanation of action or scope for the agent to anchor on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating, non-idempotent tool with zero parameter documentation, no output schema and a free-form body, the definition leaves everything an agent would need in order to call it correctly unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across both parameters, so the description must compensate and it does not. The 'body' parameter is an unconstrained free-form object with no field documentation anywhere, and the description gives no hint about what keys it accepts for pmbok generic collections.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the operation ID restated verbatim ('api_pmbok_generic_collections_partial_update'), so the only signal is what the agent can already parse from the name: a PATCH-style update on pmbok generic collections. It conveys no resource scope, no fields touched, and nothing that distinguishes it from the sibling '..._update' or '..._partial_update' on other pmbok resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative routing. An agent cannot tell from this text whether to prefer this PATCH over ciso_assistant_api_pmbok_generic_collections_update, or which id values are valid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_generic_collections_retrieveApi pmbok generic collections retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnly, idempotent, and non-destructive behavior, so the safety profile is covered. The description adds a genuinely non-obvious behavior: unauthorized related fields are masked. However, it does not explain what 'unauthorized' means, who sees masked fields, or any other access-control nuance, so the added value is real but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with zero filler. It is appropriately sized for its extremely small content, though its brevity is also part of what leaves the purpose under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one required param with no schema documentation and no output schema, the description should at minimum identify the resource, explain the id parameter, and describe the returned object's masking behavior more fully. It only gestures at masking and omits the resource and parameter semantics entirely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the only parameter ('id') is not mentioned at all in the description. With one required string parameter, the description should clarify what kind of identifier this is, but it provides no semantic guidance beyond the bare schema property name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Return a single object' but never names the resource (PMBOK generic collections) or distinguishes it from close siblings like pmbok_generic_collections_object_retrieve or pmbok_generic_collections_retrieve. Without the tool name, an agent cannot tell what is being retrieved or why this specific retrieve exists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives such as the list or object_retrieve variants, and no prerequisites. The agent is left to infer the correct context entirely from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_generic_collections_status_retrieveApi pmbok generic collections status retrieveCRead-onlyIdempotent
api_pmbok_generic_collections_status_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered without the description. The description adds nothing further: no indication of what statuses are returned, whether the call is cheap, or whether it requires authentication context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single undifferentiated identifier token with no sentence structure, no front-loaded explanation, and no information beyond the machine-generated name. Brevity here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameter list, the description is the only place an agent could learn what this status endpoint returns, yet it says nothing. For a status/aggregation endpoint in a large PMBOK tool family, that leaves the caller unable to predict the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics for the description to explain. Baseline 4 applies; the description neither helps nor harms here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation ID repeated verbatim, merely restating the name and title rather than describing the tool. An agent can infer a 'status retrieve' on 'pmbok generic collections', but there is no prose clarifying what the returned status represents or how it differs from the many sibling *_status_retrieve and *_list endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever about when to use this endpoint versus the adjacent siblings such as ciso_assistant_api_pmbok_generic_collections_retrieve, _list, _cascade_info_retrieve, or the dozens of other status endpoints. The agent receives no conditions, exclusions, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_generic_collections_updateApi pmbok generic collections updateDIdempotent
api_pmbok_generic_collections_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, so the safety profile is covered elsewhere. The description adds nothing about what the update replaces, whether omitted fields are preserved, or what a successful call returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short, but the brevity is under-specification rather than conciseness — a restated identifier conveys no information and is not front-loaded with any actionable content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque free-form body, no output schema, and 0% parameter coverage, the description supplies none of the context needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the two parameters ('id' and an untyped free-form 'body' object) are undocumented in both schema and description. This is exactly the case where the description must compensate, and it offers no field names, formats, or expectations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the identifier 'api_pmbok_generic_collections_update' repeated verbatim. It gives no plain-language statement of the verb+resource, and compared with siblings like ..._partial_update, ..._create, ..._destroy, or ..._status_retrieve, an agent gets no basis for telling which one applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to prefer this over ciso_assistant_api_pmbok_generic_collections_partial_update or the batch_action variant, and no prerequisites such as required permissions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_projects_batch_action_createApi pmbok projects batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, idempotent=false, destructive=false and openWorld=true, but the description adds nothing about what the 'action' actually does, whether idempotency matters for repeated calls, or what a caller should do with the empty payload. For a mutation endpoint, this leaves the agent guessing about effects and side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, which is structurally clean, but its brevity comes from omission rather than economy. It is under-specified rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and an empty input schema mean the description must carry the full explanatory burden, yet it says nothing about accepted actions, expected identifiers, or the response. An agent cannot reliably call this tool from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema declares zero properties, so per baseline there is nothing for the description to disambiguate. That said, a batch-action endpoint with an entirely empty schema is itself surprising, and the description does nothing to explain how object ids or an action name are conveyed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Perform a batch action on multiple objects' restates the name's 'batch action' and adds only 'multiple objects'. It never names the resource (PMBOK projects) nor which batch actions exist (update/delete/assign?), so it does not distinguish this from the dozens of other *_batch_action_create siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this instead of ciso_assistant_api_pmbok_projects_partial_update or the single-object update tools, no prerequisites, and no exclusions. The agent must infer everything from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_projects_cascade_info_retrieveApi pmbok projects cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds only the implicit notion of a 'preview' (a non-mutating computation of downstream effects), with no statement of what would be affected or what is returned, so value beyond the annotations is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words are not concise, they are under-specified; there is nothing front-loaded because there is nothing to front-load. Brevity here costs the agent all decision-relevant information rather than saving it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations explaining the payload, the description is the only channel for describing what a 'cascade preview' returns, and it supplies nothing — no shape, no meaning of 'cascade', no indication of which related models would be listed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'id' property is an untyped string with no description anywhere. The description's mention of 'projects' only weakly implies the id is a PMBOK project identifier; it does not clarify format, whether it is a UUID or ref_id, or what object the cascade is computed over.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a two-word fragment, 'Cascade preview:', that largely restates the 'cascade_info_retrieve' portion of the name. It hints that a cascade effect is being previewed, but never states the resource (PMBOK project), the operation (retrieve), or what 'cascade info' actually contains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to call this versus siblings such as ciso_assistant_api_pmbok_projects_retrieve, _object_retrieve, or _destroy. An agent must guess that this is a pre-deletion impact check based purely on the word 'preview'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_projects_createApi pmbok projects createD
api_pmbok_projects_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true; the description adds nothing on top — no mention of what is created, required fields, side effects, or what happens on duplicate submission despite idempotentHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than conciseness — a single identifier provides no front-loaded purpose statement an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent create operation with an opaque free-form body, no output schema, and 0% parameter documentation, the description supplies none of the context needed to call it correctly. Completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter ('body'), an unconstrained object with 0% schema description coverage and no nested structure documentation. The description provides zero information about what the request body should contain, so the agent has no way to know which fields a PMBOK project requires.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool identifier restated verbatim ('api_pmbok_projects_create'), which is pure tautology. It never states in prose that the tool creates a PMBOK project record, what such a project is, or how it differs from siblings like ciso_assistant_api_pmbok_projects_create-adjacent tools such as pmbok_projects_list or pmbok_projects_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The agent must infer from the name alone that this is the write counterpart to pmbok_projects_list/pmbok_projects_retrieve, and gets no signal about required permissions or preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_projects_currencies_retrieveApi pmbok projects currencies retrieveCRead-onlyIdempotent
api_pmbok_projects_currencies_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so safety is covered by structured data. The description adds nothing beyond that: no note on whether this hits an open-world/remote source, whether results are cached, whether auth or a project context is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single phrase with no wasted words, but it is under-specified rather than concise; there is no front-loaded statement of purpose, scope, or return content to anchor the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description carries the full burden of explaining what comes back, and it says nothing. An agent cannot tell whether this returns a currency dictionary, a filter option list, or a project-specific currency, which matters for deciding to call it at all.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters with an empty schema, so there is nothing for the description to disambiguate; the baseline of 4 applies. No parameter meaning is lost.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name reworded ('api_pmbok_projects_currencies_retrieve'), a tautology that restates the identifier rather than stating what the endpoint does. An agent can infer it retrieves currency data in the PMBOK projects namespace, but nothing confirms whether it returns a currency list, enum choices, or a per-project currency value, and it is not distinguished from sibling retrievers like pmbok_projects_kind_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance is present. With hundreds of sibling retrieve tools in this namespace, the absence of any routing hint leaves selection entirely to name guessing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_projects_destroyApi pmbok projects destroyDDestructiveIdempotent
api_pmbok_projects_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 structurally. The description adds nothing beyond them — it doesn't say whether deletion cascades to related PMBOK objects (task nodes, responsibility matrices), whether it is soft or hard delete, or what permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Technically one token and thus not verbose, but this is under-specification rather than conciseness. There is no front-loaded statement of intent and nothing that earns its place because nothing informative is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive deletion endpoint with no output schema and a 0%-documented parameter needs at least an indication of what gets removed and any side effects. The description supplies none of this, leaving the agent unable to call it safely or correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%: the lone required parameter 'id' is an untyped-in-prose string with no explanation. The description doesn't clarify that this is the PMBOK project identifier or its format, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool's internal name, 'api_pmbok_projects_destroy', restated verbatim. The 'destroy' token hints at deletion of a PMBOK project, but the text states no verb+resource in human terms and doesn't distinguish it from siblings such as api_pmbok_projects_partial_update or api_pmbok_responsibility_matrices_destroy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this versus alternatives (e.g., partial_update to modify, list/retrieve to inspect first). No preconditions, no warnings, no mention of any sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_projects_kind_retrieveApi pmbok projects kind retrieveCRead-onlyIdempotent
api_pmbok_projects_kind_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond those structured hints – no indication of what the 'kind' lookup returns or whether it is an enumeration helper.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Brevity here is under-specification rather than conciseness. The single token-like string is not front-loaded information – there is no sentence at all to evaluate for structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even for a zero-parameter read endpoint with no output schema, the definition should say what data the 'kind' resource exposes and how it differs from the sibling pmbok_projects_retrieve/list endpoints. Nothing beyond the annotations is conveyed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies for a no-param tool; the description does no harm here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated verbatim ('api_pmbok_projects_kind_retrieve') with no verb, resource, or scope articulated. It is a tautology: it identifies the endpoint but gives no clue what a 'pmbok project kind' is or what is returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance at all on when to call this versus the many related siblings (pmbok_projects_list, pmbok_projects_retrieve, pmbok_projects_object_retrieve, pmbok_projects_priority_retrieve). An agent has no basis for choosing this endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_projects_listApi pmbok projects listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| kind | No | ||
| limit | No | ||
| owner | No | ||
| folder | No | ||
| health | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| sponsor | No | ||
| ordering | No | ||
| priority | No | ||
| max_pages | No | ||
| parent_project | No | ||
| filtering_labels | No | ||
| linked_collection | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so safety is covered. The description adds nothing usable about behavior — 'inject optimized data into the serializer context' is an implementation note that tells an agent nothing about results, pagination, or scoping.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but that brevity is under-specification rather than conciseness: the one sentence is spent on internal serializer plumbing instead of the operation. Nothing useful is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 16-parameter filtering/pagination list endpoint with no output schema, no annotation-derived semantics beyond safety, and zero parameter documentation needs a substantive description. This definition leaves an agent unable to construct a correct call with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema exposes 16 parameters (id, kind, status, owner, health, sponsor, folder, search, ordering, limit, offset, max_pages, etc.) with 0% description coverage and no enums, and the description mentions none of them. It provides no meaning for search, ordering, limit/offset, or max_pages, which are non-obvious here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Override the list method" hints that this lists something, but the resource (PMBOK projects) is only inferable from the tool name, and the rest of the sentence is Django-internal jargon. It never states what the tool returns or how it differs from sibling list/retrieve endpoints such as ciso_assistant_api_pmbok_projects_retrieve or _object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to call this versus the many other pmbok_projects tools (retrieve, object_retrieve, batch_action, cascade_info). No preconditions, no filtering expectations, nothing an agent could route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_projects_object_retrieveApi pmbok projects object retrieveDRead-onlyIdempotent
api_pmbok_projects_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, but the description adds no behavioral context whatsoever. It says nothing about authentication requirements, error behavior for missing ids, or whether the response is a single object vs. a nested structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is trivially short, but this is under-specification rather than conciseness. There is no front-loaded purpose statement or any structure to speak of, just a repeated identifier.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-by-id endpoint with no output schema, the description should at minimum explain what resource is fetched. Nothing beyond the name is provided, so an agent cannot know what object type 'pmbok projects object' returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required 'id' parameter has no description in either the schema or the description. The description does not clarify whether the id is a UUID, integer, or reference string, leaving the only required input undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool identifier with underscores stripped, so it merely restates the name and title. It does not say what a 'pmbok project object' is, what fields are returned, or how it differs from ciso_assistant_api_pmbok_projects_retrieve or ciso_assistant_api_pmbok_projects_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of alternatives among the many pmbok siblings. An agent must infer the retrieve-by-id use case entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_projects_partial_updateApi pmbok projects partial updateD
api_pmbok_projects_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, covering the safety profile. The description contributes nothing beyond that — no mention of what fields can be patched, whether omitted fields are preserved (the defining semantics of a PATCH), or any permission requirement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single bare identifier — the problem is under-specification rather than verbosity, and there is no front-loaded explanatory sentence to structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with zero schema documentation, no output schema, a free-form body object and no annotations covering data shape, the description would need to carry the entire burden. It carries none, leaving the tool effectively uncallable except by guesswork.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%: 'id' is an undescribed string and 'body' is a free-form object with additionalProperties=true and no documented shape. The description does not compensate at all, so an agent has no idea which PMBOK project fields the body accepts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool identifier restated ('api_pmbok_projects_partial_update'), so it is a tautology rather than a statement of purpose. An agent can infer a partial update on PMBOK projects from the name, but the description itself adds no verb+resource explanation and does not distinguish it from the sibling pmbok_projects_update or pmbok_projects_batch_action_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, when to prefer the full update or batch_action siblings, or what preconditions (existing project id, permissions) apply. The agent is left to guess entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_projects_priority_retrieveApi pmbok projects priority retrieveDRead-onlyIdempotent
api_pmbok_projects_priority_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 covered without the description's help. The description adds nothing beyond that — no mention of what data is returned, whether it is a static enum reference list, or whether pagination applies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity is under-specification rather than conciseness — the single token offers no front-loaded purpose statement an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining the return value, and it says nothing. For a zero-arg read endpoint the agent needs to know this likely yields the set of allowed PMBOK project priority values; that is entirely absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics for the description to explain; the baseline of 4 applies. Schema coverage is 100% with an empty property set.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated verbatim ('api_pmbok_projects_priority_retrieve') with no verb+resource phrasing in natural language. It is a tautology that leaves the agent guessing whether this returns a list of priority enum values for PMBOK projects or prioritizes a specific project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this versus siblings such as ciso_assistant_api_pmbok_projects_list, _retrieve, or the sibling pattern ciso_assistant_api_pmbok_projects_kind_retrieve. Nothing is said about prerequisites or output semantics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_projects_retrieveApi pmbok projects retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds one genuine behavioral detail beyond that — related fields the caller is not authorized to see are masked in the response — which is useful for interpreting sparse results. It does not cover what happens on a missing/forbidden id or how masking is indicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, which is good, but brevity here is under-specification rather than efficiency: the one thing it says (object with masked fields) is not the most important thing an agent needs (which resource, keyed by what).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A single-id read tool with no output schema and no nested params is simple enough that annotations plus the tool name carry much of the load, and the masking note is a real addition. Still, the description never identifies the entity returned or the id semantics, so an agent could not distinguish it from the neighboring object_retrieve/retrieve variants on the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter `id` has no description in the schema, so the description carries the burden — yet it never mentions the id, its expected format, or whether it is a UUID or slug. It does not compensate for the coverage gap at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Return a single object" states a retrieval verb but never names the resource (a PMBOK project) or what the single object is keyed by. The only distinguishing content is the masking note, so an agent must infer from the tool name alone that this returns one PMBOK project rather than, say, a cascade info or priority object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus the numerous siblings (pmbok_projects_list, pmbok_projects_object_retrieve, pmbok_projects_cascade_info_retrieve). The 'unauthorized related fields masked' note hints at a permission-scoped read but gives no condition that would select this tool over another.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_projects_updateApi pmbok projects updateDIdempotent
api_pmbok_projects_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, idempotentHint=true, openWorldHint=true, destructiveHint=false, so the agent knows this is a non-destructive, idempotent, open-world write. The description contributes nothing further: not whether the whole resource is replaced versus merged, not authorization requirements, not side effects on related PMBOK objects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically short, but the brevity is under-specification rather than economy — a single machine-generated token string with no front-loaded statement of intent or constraints. Nothing here earns its place because nothing is communicated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint taking an unconstrained free-form body with no output schema and no annotations on payload semantics, the definition is wholly inadequate; an agent cannot construct a valid body from the available information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two parameters: 'id' is an untyped-in-prose string and 'body' is a free-form object with additionalProperties=true and a null default. Since the schema documents neither, the description must compensate, and it provides no information about the expected payload shape or id format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's own identifier restated in prose form and adds nothing beyond the name: it signals an 'update' of 'pmbok projects' but does not say what fields are updated, what 'api' scoping means, or how it differs from the sibling ciso_assistant_api_pmbok_projects_partial_update and ciso_assistant_api_pmbok_projects_create. It is a tautology rather than an explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when to prefer the partial_update sibling, what prerequisites exist (an existing project id, permissions), or what the body payload should contain. An agent can only infer usage from the trailing verb in the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_assignments_cascade_info_retrieveApi pmbok responsibility assignments cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is covered structurally. The description adds nothing beyond them — it does not say what a "cascade" contains (dependent objects? deletion impact?) or why one would preview it. The trailing colon suggests the text is truncated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words plus a colon — technically concise, but the brevity reflects under-specification rather than efficiency. A dangling colon also signals an incomplete sentence, which harms trust in the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description would need to explain what a cascade preview returns; it says nothing. With only one required id and full annotation coverage the tool is simple, but an agent still cannot predict the response shape or the meaning of "cascade" here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter "id" has 0% schema description coverage, so the description must compensate and does not: it never says whether this is the responsibility assignment id, a project id, or a matrix id. Only REST convention hints at its meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" gestures at a preview of cascading effects but names no verb, no resource, and no scope. Against dozens of sibling *_cascade_info_retrieve tools (actors, answers, assets, journeys, etc.), an agent cannot tell which entity's cascade this previews without parsing the auto-generated name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the entity's plain *_retrieve, *_object_retrieve, or list endpoint, and no statement of prerequisites (e.g. that a valid object id is required). The description offers no usage context whatsoever.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_assignments_listApi pmbok responsibility assignments listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| role | No | ||
| actor | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| activity | No | ||
| ordering | No | ||
| max_pages | No | ||
| activity__matrix | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered structurally and the description does not contradict it. However, the description adds nothing behavioral - no mention of pagination, filtering scope, or what the 'optimized data' injection means for the returned payload. It describes the server's internals rather than observable behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, but that is because it says almost nothing. The one sentence is spent on an implementation detail rather than front-loading the resource, scope, or filtering behavior an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter list endpoint with no output schema, no parameter documentation, and many near-identical sibling list/retrieve tools, the description is completely inadequate. It leaves the agent unable to know what the tool returns or how to use its filters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 10 parameters (id, role, actor, activity, limit, offset, search, ordering, max_pages, activity__matrix) with 0% schema description coverage, and the description explains none of them. Filtering semantics, the meaning of limit/offset/max_pages, and valid ordering values are entirely undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text 'Override the list method to inject optimized data into the serializer context' is a developer implementation note, not a statement of what the tool does for a caller. It mentions 'list' and, indirectly through the name, responsibility assignments, but never says it returns a collection of PMBOK responsibility assignments or what those entities represent. The purpose is only inferable from the tool name, not the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the sibling retrieve/object_retrieve/cascade_info_retrieve endpoints for the same resource. The sentence describes an internal override, which gives an agent no usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_assignments_object_retrieveApi pmbok responsibility assignments object retrieveDRead-onlyIdempotent
api_pmbok_responsibility_assignments_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered structurally. The description contributes nothing beyond that — no mention of what object shape is returned, whether missing IDs error or 404, or any auth/scope requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it contains no information — conciseness should not come at the cost of content. Nothing is front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, 0% parameter coverage, and a description that is a name echo, an agent cannot determine what this call returns or how to form a valid ID. For a retrieval endpoint in a large PMBOK API surface, this is wholly inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter 'id' with 0% schema description coverage, and the description says nothing about it. It does not clarify whether 'id' is a numeric PK, UUID, or ref_id for a responsibility assignment, which is exactly the ambiguity an agent would hit at call time.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's own name restated verbatim, which is tautological. The name itself hints at retrieving a PMBOK responsibility assignment object, but the description adds no verb-plus-resource explanation and gives no basis for distinguishing this from the many sibling *_object_retrieve and *_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to use this tool versus ciso_assistant_api_pmbok_responsibility_assignments_retrieve, _list, or _cascade_info_retrieve, which are the obvious alternatives. An agent has no stated condition for selecting this variant over the others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_assignments_retrieveApi pmbok responsibility assignments retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, open-world, so the safety profile is covered. The description nonetheless adds genuinely new behavior: related fields the caller is not authorized to see are masked in the returned object, which matters for interpreting results and for not treating missing data as an error.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, which is efficient, but the brevity comes at the cost of substance: the sentence is spent entirely on output masking rather than on what is being fetched.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read with annotations and no output schema, the description is minimally viable: it discloses masking, which is the one non-obvious output trait. It omits, however, what a responsibility assignment is in this domain and how this endpoint differs from the object_retrieve sibling, both of which an agent needs in such a crowded toolset.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'id' parameter is not mentioned at all in the description, so nothing is added about which identifier namespace it belongs to or how errors are surfaced for a bad id. With one obvious required parameter this is not catastrophic, but the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Return a single object' but never names the resource being retrieved; the object type (PMBOK responsibility assignment) is only inferable from the tool name. It also fails to distinguish itself from the near-identical siblings ciso_assistant_api_pmbok_responsibility_assignments_object_retrieve and _list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus the _list, _object_retrieve, or _cascade_info siblings in the same resource family. The only usage cue is implicit in the required 'id' parameter, which the agent must infer from the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrices_batch_action_createApi pmbok responsibility matrices batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered externally. The description adds nothing beyond that: it never explains what an 'action' is, which fields it mutates, whether it is atomic, or what happens on partial failure — and the empty, closed input schema makes this omission costly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, waste-free sentence, but its brevity reflects under-specification rather than tight writing; nothing is front-loaded because nothing of substance is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A batch mutation tool with no parameters, no output schema, and only default-looking annotations needs the description to carry the full burden of target selection, action semantics, and payload — none of which is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter count is 0, which normally gives a baseline of 4, but the schema is an empty object with additionalProperties=false, so the tool appears to accept no input at all despite claiming to act on 'multiple objects'. The description never reconciles this — it doesn't say how the target objects or the action type are supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Perform a batch action on multiple objects' largely restates the name's 'batch_action_create' and never names the resource (PMBOK responsibility matrices) or what the action does. An agent reading only the description cannot tell it apart from the dozens of sibling *_batch_action_create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use a batch action versus the singular create/update/destroy siblings, no mention of prerequisites, permissions, or payload shape. Only a bare implication that it applies to more than one object.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrices_cascade_info_retrieveApi pmbok responsibility matrices cascade info retrieveCRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is covered structurally. The description adds only the vague notion of a "cascade preview", without saying what cascades, what the preview contains, or whether it reflects pending uncommitted changes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is brief, but brevity here is under-specification rather than economy: a two-word fragment with a trailing colon is not a front-loaded explanation of anything.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Placeholder
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter "id" has 0% schema description coverage, and the description does not say what kind of object the id identifies (a matrix? a project? an actor?) or what happens if it is unknown. The description fully fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment that restates a slice of the tool name without a verb or a resource. An agent cannot tell from this whether the tool returns a preview object, a list of affected objects, or a dry-run of a cascade delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this rather than the sibling responsibility_matrices_retrieve or object_retrieve endpoints, nor on what prerequisites or side effects apply. Nothing tells the agent which situation selects this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrices_createApi pmbok responsibility matrices createD
api_pmbok_responsibility_matrices_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false; the description adds zero context beyond them. With a mutation tool whose body payload is fully opaque, nothing is said about what the call changes, whether duplicates are created, or what response to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely short, but the brevity is under-specification rather than efficiency; no useful information is front-loaded, and the single fragment merely echoes the identifier.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with an unbounded request body, no output schema, no annotations beyond hints, and 0% schema description coverage requires a substantive description. Nothing here tells the agent what a responsibility matrix payload looks like or what happens on success.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and there is a single free-form 'body' object with additionalProperties=true and a null default. The description supplies no field names, no required fields (0 required), and no payload shape, so the agent has no way to know what to send.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the tool's name restated ('api_pmbok_responsibility_matrices_create'), a tautology. Only the 'create' verb hints at the operation; the resource concept (PMBOK responsibility matrices) is inferable from the name but nothing states what is created or in what domain, and it is indistinguishable from the dozens of sibling *_create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. In a sibling list containing matrices_list, matrices_retrieve, batch_action_create, and dozens of other create endpoints, there is no signal about prerequisites, when creation is appropriate, or how to choose among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrices_cycle_cell_createApi pmbok responsibility matrices cycle cell createD
api_pmbok_responsibility_matrices_cycle_cell_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false, so the agent already knows it is a non-idempotent write. The description adds nothing beyond that — no mention of what a 'cell' is, what the id refers to, or what happens on repeated calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here reflects under-specification rather than efficiency; there is no front-loaded explanation of purpose or expected input.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an undocumented required parameter, no output schema, and no annotations beyond generic hints, the description provides none of the context needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage and the description offers no clarification of whether it is a matrix id, cell id, or cycle id, leaving the agent unable to construct a valid call confidently.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description simply restates the machine-generated tool name in snake_case, which is a tautology rather than an explanation. It hints at creating a cell in a PMBOK responsibility matrix cycle, but doesn't state in plain language what resource is created or what it represents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, prerequisites, or how it relates to the many sibling tools like responsibility_matrices_create or matrix_activities_create.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrices_destroyApi pmbok responsibility matrices destroyDDestructiveIdempotent
api_pmbok_responsibility_matrices_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, readOnlyHint=false, openWorldHint=true, so the safety profile is covered by structured data. The description adds nothing beyond that: no statement of what cascade effects deleting a matrix has (activities, actors, assignments), whether deletion is recoverable, or what permissions are required. Since it does not contradict the annotations, it is not a contradiction, but it contributes essentially zero 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but shortness here reflects under-specification rather than concision. It is not front-loaded with any meaningful statement and offers nothing beyond the identifier.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world delete tool with no output schema and an undocumented required parameter, the description must carry the burden of explaining scope and consequences. It provides none of that, so an agent cannot confidently decide to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required 'id' string parameter carries no description. The description does not identify what the id refers to (matrix PK? ref?) or its format, leaving the only parameter undocumented across both sources.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw tool name repeated in snake_case ('api_pmbok_responsibility_matrices_destroy'). It is a restatement of the identifier with no verb+resource phrasing an agent could parse, and it does not distinguish this from sibling matrix tools (create/update/list/retrieve/cycle_cell).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus alternative matrix operations, no prerequisites, no mention of what the id must reference. The 'destroy' suffix is the only hint, and it duplicates the name rather than guiding behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrices_listApi pmbok responsibility matrices listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| roles | No | ||
| folder | No | ||
| offset | No | ||
| preset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| filtering_labels | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, destructiveHint=false, so the safety profile is covered. The description adds essentially nothing beyond a vague hint that results are 'optimized' in the serializer context, with no mention of pagination, default limits, or what the injected data actually contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence with no padding, so there is nothing to trim. However, the brevity comes at the cost of all substance — the sentence is efficiently conveying information that is irrelevant to tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A ten-parameter, zero-required, list-style tool with no output schema and no parameter documentation gets no explanatory support from the description at all. An agent could not reliably call this correctly given only this definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Ten parameters (id, limit, roles, folder, offset, preset, search, ordering, max_pages, filtering_labels) have 0% schema description coverage, and the description never mentions any of them. The agent is left to guess at the semantics of every filter and pagination control, which is the worst case for this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Override the list method to inject optimized data into the serializer context' is Django-internal implementation commentary; it restates that a list happens but never says it lists PMBOK responsibility matrices or what that resource is. An agent cannot distinguish this from the sibling responsibility_matrices_retrieve or responsibility_assignments_list based on this text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of any alternative tool. The description offers nothing that would help an agent decide between this and the many other list/retrieve siblings in the PMBOK namespace.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrices_object_retrieveApi pmbok responsibility matrices object retrieveDRead-onlyIdempotent
api_pmbok_responsibility_matrices_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that — no note on what the object contains, permission requirements, or 404 behavior on a bad id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it contains no information at all — an identifier echo rather than a front-loaded summary. Under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool with no output schema and an undocumented id, the agent cannot tell what a 'PMBOK responsibility matrix' object is or how to obtain a valid id (likely via the _list or _object_retrieve siblings). The definition leaves the agent without enough to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, and the description offers no compensating text about what the id refers to (matrix UUID? project-scoped ref?) or its format. With a low-coverage parameter, the description was the only place to explain it and it said nothing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the tool's snake_case identifier restated verbatim, which is a tautology rather than a statement of purpose. The name does encode 'retrieve PMBOK responsibility matrices object', so an agent can piece together a read-by-id operation, but the description itself contributes no verb-plus-resource phrasing or sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus the many sibling retrieval tools (e.g. ciso_assistant_api_pmbok_responsibility_matrices_retrieve, _list, or the _object_retrieve variants on activities/actors). There is no exclusions, prerequisites, or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrices_partial_updateApi pmbok responsibility matrices partial updateD
api_pmbok_responsibility_matrices_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, so the agent knows this mutates state but is non-destructive. The description adds nothing beyond that — no mention of what fields are patchable, permission needs, or side effects. No contradiction with annotations, but zero added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single identifier string is technically brief but represents under-specification, not conciseness. Nothing is front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a completely undocumented request body, no output schema, and 0% schema coverage, the definition provides no information an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate and does not. The 'body' parameter is an untyped anyOf object with no description anywhere, leaving the agent no clue what payload shape a partial update expects.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim, a tautological restatement rather than an explanation. An agent can infer 'partial update of a PMBOK responsibility matrix' only from the identifier itself, not from any description text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this partial update versus the many sibling alternatives (update, retrieve, object_retrieve, matrix_activities/actors endpoints). The 'partial' token in the name implies PATCH semantics but nothing states when that is preferable to a full update.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrices_preset_retrieveApi pmbok responsibility matrices preset retrieveCRead-onlyIdempotent
api_pmbok_responsibility_matrices_preset_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered externally. The description adds nothing else: no indication of what a 'preset' matrix contains, whether it is a template catalogue vs. a stored instance, or what shape the payload takes. It does not contradict the annotations, but contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single identifier-like token with no prose structure and nothing front-loaded because there is nothing to front-load. This is under-specification rather than genuine conciseness — every sentence that would earn its place is absent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only channel for explaining what this endpoint returns, and it supplies nothing. An agent cannot tell whether this returns a preset default matrix template, a list of available presets, or a specific stored matrix, which is essential given the density of adjacent PMBOK/preset tooling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero properties, so there are no parameters whose meaning could be clarified or obscured. Baseline 4 applies; the description neither helps nor harms here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the identifier restated verbatim: 'api_pmbok_responsibility_matrices_preset_retrieve'. It conveys only that something PMBOK/responsibility-matrices/preset-related is being fetched, which is tautological rather than an explanation of what the tool returns. It does not distinguish this from siblings such as api_pmbok_responsibility_matrices_retrieve, api_presets_retrieve, or api_pmbok_responsibility_matrices_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is stated. In a family with many near-identical PMBOK responsibility matrix and preset retrieval endpoints, an agent has no basis for choosing this tool over api_pmbok_responsibility_matrices_retrieve or api_presets_retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrices_reorder_activities_createApi pmbok responsibility matrices reorder activities createD
api_pmbok_responsibility_matrices_reorder_activities_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, so the safety profile is structured data, yet the description adds nothing about what the reorder does to ordering, whether it overwrites existing positions, or what permissions are needed. Since it contributes zero behavioral information beyond annotations, this is a 1.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not concise in any useful sense — it is an under-specified identifier with no front-loaded statement of purpose. Brevity here reflects missing content rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A non-idempotent mutation endpoint with an ambiguous single parameter, no output schema, and no annotations explaining ordering semantics: the description would need to explain what is reordered and with what payload. It provides nothing, so an agent cannot call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'id' has 0% schema description coverage and the description provides no clarification of whether it is the matrix ID, an activity ID, or the entity being reordered. With only one parameter and no compensating text, the description leaves the parameter entirely ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the identifier string repeated verbatim ('api_pmbok_responsibility_matrices_reorder_activities_create'), which is a tautology of the name/title rather than an explanation. An agent can only infer from the slug that this reorders activities within a PMBOK responsibility matrix, and cannot distinguish it from the sibling 'reorder_actors_create' without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to use this tool, what a reorder operation requires (presumably the full ordered activity list), or how it relates to alternatives like reorder_actors_create or responsibility_matrix_activities_update.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrices_reorder_actors_createApi pmbok responsibility matrices reorder actors createD
api_pmbok_responsibility_matrices_reorder_actors_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, so the description needed to add something beyond them and adds nothing. It does not say that the call reorders the actor list of an existing responsibility matrix, nor what happens to existing ordering. No contradiction with annotations, but the mutation semantics are entirely absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Not concise so much as empty: a single machine-generated token that repeats the tool name and carries no front-loaded purpose, no verbs, no scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, non-destructive mutation with one undocumented parameter and no output schema, the description supplies none of the required context — target resource, effect, or ordering semantics. Nothing an agent needs in order to call it safely is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter 'id' with 0% schema description coverage, and the description never mentions it. Given the name mentions 'reorder', an agent would reasonably need to know what the id identifies (the matrix, an actor, or the new order payload) — the description leaves that completely ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the tool identifier repeated verbatim ('api_pmbok_responsibility_matrices_reorder_actors_create'). It never states in plain language what the call does, and an agent cannot distinguish it from siblings like ..._reorder_activities_create or ..._matrix_actors_create without decoding the raw path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative routing is given. The sibling set contains several near-identical reorder/actor endpoints, and the description offers zero guidance on which to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrices_retrieveApi pmbok responsibility matrices retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a safe, idempotent read. The description adds useful behavioral context by noting that unauthorized related fields are masked, but it gives no detail about what masking means for the caller or what permission conditions trigger it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single efficient sentence with no wasted words. However, the sentence is too generic to front-load the resource being retrieved.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve-by-id endpoint with no output schema, the description should identify the object type and clarify the id semantics. It leaves those essentials to the tool name and says nothing about how this differs from the many sibling retrieve tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required id parameter at 0% description coverage, and the description does not explain what the id identifies or what format it takes. It 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns a single object, implying a read-by-ID retrieval, and mentions masking. But it never names the PMBOK responsibility matrix resource itself, so an agent must rely on the tool name to understand what is being retrieved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool rather than the sibling list, object_retrieve, or other responsibility-matrix endpoints. It also never states that the required id parameter selects the object.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrices_updateApi pmbok responsibility matrices updateDIdempotent
api_pmbok_responsibility_matrices_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, but the description adds zero context about what gets replaced, whether omitted fields are nulled, or what permissions are required. For a mutation endpoint with a free-form body, this is a complete absence of behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness: a single snake_case identifier with no front-loaded verb, resource description, or any sentence that earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotation detail from the description, 0% parameter coverage, and a free-form body, essentially everything an agent needs to call this correctly is missing. The definition is not usable beyond a name-match guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the two parameters—`id` and an opaque `body` object with additionalProperties=true—are entirely undocumented. The description must compensate here and instead contributes nothing, leaving the agent no idea what fields the body accepts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool's identifier restated ('api_pmbok_responsibility_matrices_update'), which is a tautology rather than an explanation. An agent can guess it mutates a PMBOK responsibility matrix, but nothing states what an update does or how it differs from the sibling partial_update and batch_action variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool, no prerequisites, and no mention of the many near-identical siblings (responsibility_matrices_partial_update, _update, _destroy, _cycle_cell_create). Nothing helps the agent choose between a full update and the partial update alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrix_activities_batch_action_createApi pmbok responsibility matrix activities batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), so the description only needed to add detail. It adds nothing: no indication of which action types are supported (delete? update? assign?), what happens on partial failure, or what permissions are needed for a non-idempotent mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no wasted words, front-loaded, but it is underspecified rather than genuinely concise – there is nothing left out that could be trimmed, only content that was never written.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameters, and only annotations for safety hints, the description carries the full burden and delivers almost none of it. Nothing tells the agent what a 'batch action' returns, whether it is atomic, or how many objects are permitted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter count is 0, which normally earns a baseline of 4, but here the empty, closed schema (additionalProperties=false) is in tension with a description claiming the tool acts on 'multiple objects' – the description should have explained how targets are identified when the schema declares no input. It therefore neither documents parameters nor bridges the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Perform a batch action on multiple objects' is generic boilerplate that restates the name's 'batch_action' segment without naming the resource. The tool acts on PMBOK responsibility matrix activities, but the description never says so, leaving it indistinguishable from the hundreds of sibling *_batch_action_create tools in the listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the sibling create/update/destroy/partial_update operations on responsibility matrix activities, nor what conditions make a batch preferable. The agent must infer everything 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.
ciso_assistant_api_pmbok_responsibility_matrix_activities_cascade_info_retrieveApi pmbok responsibility matrix activities cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered elsewhere. The description adds nothing further: no mention of what the preview returns, whether it reflects pending unsaved changes, or any permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than economy: two words conveying no actionable information and no front-loaded statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description would need to convey what a "cascade preview" contains and how it differs from the plain retrieve endpoint. It is completely silent on that, leaving an agent unable to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, id, with 0% schema description coverage, and the description provides no clarification of what the id refers to (a matrix, an activity, a project?). This is the exact case where the description must compensate and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment that only gestures at the action; the actual verb and resource are inferable only from the tool name. It does not explain what is being previewed or how the resulting cascade is represented.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to call this versus the many sibling cascade_info_retrieve tools or the responsibility matrix activities CRUD endpoints. An agent must guess from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrix_activities_createApi pmbok responsibility matrix activities createD
api_pmbok_responsibility_matrix_activities_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the write/non-idempotent character is known without the description. The description adds nothing beyond that: no mention of required permissions, what the created record returns, or how the free-form body is validated or rejected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token-length string, so nothing is padded, but that is under-specification rather than conciseness. There is no front-loaded statement of intent, scope, or payload expectations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint taking an opaque body with no output schema and no per-field documentation, the description should explain what gets created and what the payload should contain. It provides none of that, so an agent cannot call this correctly without guessing at the request body.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, 'body', defined as an unconstrained object (anyOf object/null) with 0% schema description coverage. The description supplies no information about the shape, required fields, or accepted keys of that payload, leaving the sole parameter entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the operation slug restated verbatim, so the agent must parse the identifier itself to infer 'create a PMBOK responsibility-matrix activity'. There is no prose verb+resource statement, and nothing distinguishes it from the near-identical sibling ciso_assistant_api_pmbok_responsibility_matrix_activities_batch_action_create or the many other *_create siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to call this versus the sibling create/batch_action_create/partial_update/update tools for the same resource. The agent has no stated conditions, prerequisites, or alternatives to select on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrix_activities_destroyApi pmbok responsibility matrix activities destroyDDestructiveIdempotent
api_pmbok_responsibility_matrix_activities_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, openWorldHint=true and readOnlyHint=false, so the safety profile is covered structurally. The description adds nothing beyond that — no mention of cascading effects on responsibility assignments, permission requirements, or behavior when the id does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from under-specification rather than efficiency; the single token conveys nothing beyond the tool name already visible to the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete with no output schema, an agent needs to know what is removed, whether dependent assignments are affected, and how failure is signalled. None of this is present, so the definition is inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description supplies no information about the single required 'id' parameter. It does not say whether the id refers to the activity row, the matrix, or a composite key, leaving the caller to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the identifier 'api_pmbok_responsibility_matrix_activities_destroy' repeated verbatim, which is a tautology of the tool name. An agent can infer deletion of a responsibility-matrix activity only by parsing the name itself, not from any descriptive language.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as ciso_assistant_api_pmbok_responsibility_matrix_activities_update or the batch_action variant. No prerequisites, no exclusions, no context is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrix_activities_listApi pmbok responsibility matrix activities listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| matrix | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered externally. The description adds no useful behavioral context (no pagination, filtering, or return-shape information); it only mentions an internal serializer-context optimization, which is not actionable for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but its single sentence is about an implementation override rather than the tool's purpose. Brevity does not earn credit when the content is not front-loaded with useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With seven undocumented parameters, no output schema, and a list endpoint that clearly needs filtering/pagination semantics, the description is completely inadequate. It gives an agent nothing needed to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for seven parameters (id, matrix, limit, offset, search, ordering, max_pages), and the description provides no parameter semantics at all. It does not explain what `matrix` filters on, how `search`/`ordering` work, or what `max_pages` does.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never says what the tool does for a user: it describes an internal implementation detail ('Override the list method to inject optimized data into the serializer context') rather than listing PMBOK responsibility matrix activities. An agent cannot determine the resource or scope from this text, and it does not distinguish the tool from siblings like responsibility_matrix_activities_retrieve or responsibility_matrices_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this list endpoint versus the many sibling list/retrieve endpoints. No prerequisites, no filtering context, and no alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrix_activities_object_retrieveApi pmbok responsibility matrix activities object retrieveDRead-onlyIdempotent
api_pmbok_responsibility_matrix_activities_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered without the description. The description adds no behavioral context of its own – nothing about what object shape is returned, whether related actors/assignments are included, or error behavior for unknown ids.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single line with no wasted words, but this is under-specification rather than conciseness – the line carries zero information beyond the tool name already shown to the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no schema descriptions, and a large, near-identical sibling set, the description must carry the burden of explaining the resource and the return value. It does neither, so an agent has no basis for choosing this over the parallel '..._activities_retrieve' tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the description is the only place that could clarify whether it is a UUID, integer, or ref_id. It says nothing, leaving the identifier format and lookup key undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the identifier 'api_pmbok_responsibility_matrix_activities_object_retrieve' restated verbatim, which is a tautology rather than an explanation. An agent can infer from the name that it fetches a single responsibility-matrix activity, but nothing in the description confirms the resource, and the distinction from the sibling '..._activities_retrieve' is left entirely unstated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite or exclusion, and no mention of the alternative tools for the same resource ('..._activities_retrieve', '..._activities_list', '..._activities_cascade_info_retrieve'). The agent must guess which retrieve variant to invoke.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrix_activities_partial_updateApi pmbok responsibility matrix activities partial updateD
api_pmbok_responsibility_matrix_activities_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, but the description adds no behavioral context whatsoever — no mention of what fields the body mutates, permission requirements, or side effects. For a partial-update mutation with an opaque free-form body, this is a serious gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single identifier with no wasted words, but this is under-specification rather than conciseness — there is no front-loaded purpose or actionable content at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an undefined body payload, no output schema, no annotations explaining mutation semantics, and hundreds of near-identical siblings, the description leaves everything an agent needs to call this correctly undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the two parameters are a bare 'id' string and a free-form 'body' object with additionalProperties=true and no field documentation. The description does nothing to explain what the body should contain, so an agent has no way to construct a valid call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name and title, offering no verb+resource explanation in prose. An agent can only infer 'partial update of PMBOK responsibility matrix activities' by parsing the machine-generated identifier itself, which is tautology rather than clarification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many adjacent siblings such as ..._update, ..._create, ..._batch_action_create, or the parent responsibility_matrices_* tools. Nothing signals prerequisites, what a partial update touches, or when a full update is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrix_activities_retrieveApi pmbok responsibility matrix activities retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description does add one genuine behavioral trait not in the annotations — related fields are masked when the caller is unauthorized — which is useful context. It stops short of saying which fields are masked, whether masking is silent or flagged, or how a missing/inaccessible id behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, so nothing is wasted — but it is under-specified rather than concise. There is no front-loaded statement of what is being retrieved.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema and full annotation coverage, the description covers the notable output caveat (masking) but omits what the returned object represents and what the id refers to. Marginal but not adequate on its own.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has a single required `id` with 0% description coverage, and the description never mentions it. The agent must infer that `id` identifies a responsibility-matrix activity, and nothing clarifies whether it is a numeric PK, UUID, or ref string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Return a single object" restates the retrieve action already implied by the name/title and never names the resource (a PMBOK responsibility matrix activity). The only distinguishing content is the masking note, so an agent must rely on the tool name to know what it fetches, and it cannot tell this apart from the sibling *_object_retrieve or *_list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this versus the closely named siblings (pmbok_responsibility_matrix_activities_object_retrieve, _list, _cascade_info_retrieve) which all sit in the same namespace. The masking clause implies permission-scoped reads but gives no actionable selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrix_activities_updateApi pmbok responsibility matrix activities updateDIdempotent
api_pmbok_responsibility_matrix_activities_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, but the description adds no behavioral context beyond them — no note on what a full update overwrites, whether omitted fields are cleared, or what permissions are needed. For a mutation tool the description carries residual burden and supplies none of it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single bare identifier with no sentence structure, no front-loaded explanation, and no content that earns its place. Brevity here reflects under-specification rather than concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no parameter documentation, no annotations explaining behavior beyond the hints, and a completely opaque body payload. For an update mutation on a nested PMBOK structure the definition is far too thin to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Two parameters (id and a free-form body object) with 0% schema description coverage, and the description says nothing about either. The opaque 'body' anyOf object is entirely undocumented in both the schema and the description, so an agent cannot know what to send.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name, 'api_pmbok_responsibility_matrix_activities_update', which is tautological. An agent can infer only from the name that this updates a PMBOK responsibility-matrix activity, but the description itself adds no specific verb, resource, or scope of its own.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this versus the many siblings, including the closely related ciso_assistant_api_pmbok_responsibility_matrix_activities_partial_update, _create, and _batch_action_create. Nothing indicates prerequisites or which fields warrant a full update vs. a partial one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrix_actors_batch_action_createApi pmbok responsibility matrix actors batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, idempotentHint=false and destructiveHint=false, so the mutation/non-idempotent profile is covered. The description adds nothing beyond that – it does not say which actions the batch endpoint accepts, whether retries duplicate work, or what the response returns. For a non-idempotent write endpoint with an empty input schema, that is a meaningful gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, arguably too terse, but the brevity comes from under-specification rather than tight writing. It is front-loaded but conveys almost no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a write endpoint in a large PMBOK family with no output schema and an empty input schema; the description needs to explain payload shape, supported batch actions, and the actors/matrix relationship. It supplies none of that, so the agent is left guessing what to send.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter count is 0, which sets the baseline at 4. The empty schema (additionalProperties: false) leaves the expected payload undocumented, but per the calibration rule the description is not penalized for parameters that do not formally exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only says "Perform a batch action on multiple objects" – it never names the resource (PMBOK responsibility-matrix actors) or the operation (create/update/delete). Dozens of sibling tools share the exact same boilerplate, so nothing distinguishes this from ciso_assistant_api_pmbok_responsibility_matrices_batch_action_create or any other *_batch_action_create. It is close to a restatement of the name fragment rather than a statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use a batch action instead of the per-object siblings (pmbok_responsibility_matrix_actors_create/update/destroy), nor on what the batch semantics are (all-or-nothing? partial success?). The agent must infer that this tool exists to act on several actors at once.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrix_actors_cascade_info_retrieveApi pmbok responsibility matrix actors cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered structurally. The description contributes only the word 'preview', without saying what is cascaded, over what scope, or what shape the preview takes — minimal added context for a read tool with an open-world hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words are technically concise, but this is under-specification rather than economy — the fragment ends in a colon with nothing following, so no information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, an undocumented required id, and an open-world read hint mean the description carries real burden, yet it gives an agent nothing about what the call returns or what the cascade preview contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single required parameter 'id' has 0% schema description coverage, and the description says nothing about what object the id identifies (actor? matrix? assignment?) or its format. With low coverage the description must compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is essentially a restatement of the name/title fragment 'cascade info retrieve' plus a colon. It hints at previewing cascade effects for a responsibility-matrix actor, but does not state a specific verb+resource, nor does it separate this from siblings such as ciso_assistant_api_pmbok_responsibility_matrix_actors_retrieve or ciso_assistant_api_pmbok_responsibility_matrices_cascade_info_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is mentioned. The many neighbouring cascade_info_retrieve and actors tools give an agent no basis from the description to choose this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrix_actors_createApi pmbok responsibility matrix actors createD
api_pmbok_responsibility_matrix_actors_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnly=false, idempotent=false, destructive=false and openWorld=true, so the safety profile is covered structurally. The description adds nothing beyond that — no statement about what gets created, whether the actor is scoped to a matrix, or what permissions are needed for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness — the single string duplicates structured data and carries zero information payload.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation endpoint with an untyped body, no output schema, and no annotations covering semantics. The description supplies none of the missing context an agent would need to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one optional 'body' parameter typed as a free-form object with 0% schema description coverage, and the description says nothing about its shape or required fields. With the schema opaque and no compensating text, an agent cannot know what payload to send.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name ('api_pmbok_responsibility_matrix_actors_create') with no expansion. An agent can infer 'create an actor in a PMBOK responsibility matrix' only by parsing the identifier itself, and nothing distinguishes it from siblings such as pmbok_responsibility_matrix_actors_batch_action_create or _update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to create a matrix actor versus using the batch-action, update, or partial_update siblings, and no mention of prerequisites (e.g. an existing responsibility matrix ID that the actor must attach to). The description offers no context at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrix_actors_destroyApi pmbok responsibility matrix actors destroyDDestructiveIdempotent
api_pmbok_responsibility_matrix_actors_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is carried entirely by structured fields. The description adds nothing about what gets destroyed, whether the delete cascades to responsibility assignments, or what permissions are required. It does not contradict the annotations, but contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is nothing to trim, but the single token is under-specification rather than conciseness. It provides no front-loaded statement of effect or scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema, no annotations beyond hints, and 0% parameter documentation, the description should at minimum state what is deleted and any side effects. It supplies none of this, leaving the agent unable to call it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter 'id' is an untyped-meaning string; the description does not clarify whether it is the actor id, the matrix id, or a composite reference. Baseline 4 for zero params does not apply here, and a destroy operation's id semantics are exactly where confusion is costly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool identifier restated, so it merely parrots the name and title. The verb 'destroy' and resource 'pmbok responsibility matrix actors' are inferable from the name alone, not from any explanatory text. It does not distinguish this from sibling destroy tools such as responsibility_matrix_activities_destroy or responsibility_matrices_destroy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which alternative to pick. An agent cannot tell from the description whether deleting an actor is safe, whether it cascades to assignments, or whether a partial_update alternative exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrix_actors_listApi pmbok responsibility matrix actors listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| actor | No | ||
| limit | No | ||
| matrix | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true), so the description's job is to add context such as what the 'optimized data' means, default page size, or ordering behavior. It offers only the vague claim of 'optimized data into the serializer context', which tells the caller nothing actionable about results or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded sentence with no padding, but its brevity comes from omitting useful content rather than from efficiency. The one sentence spent is on code-level internals instead of caller-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With eight undocumented parameters, no output schema, and no annotation coverage of pagination or filtering semantics, the description would need to carry substantial weight. Instead it contributes only an implementation note, so an agent cannot confidently construct a query or interpret the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Eight parameters (id, actor, limit, matrix, offset, search, ordering, max_pages) with 0% schema description coverage and untyped anyOf schemas, yet the description mentions none of them. It does not explain that limit/offset/max_pages control pagination or that actor/matrix/search filter the list, leaving callers to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Override the list method' and 'inject optimized data into the serializer context', which is a Django implementation note, not a statement of what the tool returns. It never says it lists PMBOK responsibility matrix actors or what an 'actor' is in this context, so the agent must infer purpose from 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the very similar siblings (pmbok_responsibility_matrix_actors_retrieve, _object_retrieve, _create, or the generic actors_list). No mention of required filters, pagination expectations, or prerequisites; the only content is an internal implementation detail.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrix_actors_object_retrieveApi pmbok responsibility matrix actors object retrieveDRead-onlyIdempotent
api_pmbok_responsibility_matrix_actors_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that — no note on what the returned object contains, permissions, or 404 behavior — and 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A bare identifier string is not a sentence and has no front-loaded structure; it is under-specified rather than concise, offering zero informational content beyond the tool name already supplied to the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameter documentation, and a description that only repeats the name, an agent has no basis for forming the correct call arguments or expecting a particular response shape. Nothing compensates for the absent output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, 'id', with 0% schema description coverage, so the description bears the burden of explaining it. It says nothing about whether the id is a UUID, slug, or integer, or which object namespace it indexes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation slug 'api_pmbok_responsibility_matrix_actors_object_retrieve' restated verbatim. It implies a retrieve of an actor object in the PMBOK responsibility-matrix domain, but it is a tautology of the name rather than a stated purpose, and it does nothing to distinguish it from the adjacent actors_list, actors_retrieve, or actors_object_retrieve siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this versus ciso_assistant_api_pmbok_responsibility_matrix_actors_retrieve, _list, or _cascade_info_retrieve. The agent must infer selection entirely from the slug.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrix_actors_partial_updateApi pmbok responsibility matrix actors partial updateD
api_pmbok_responsibility_matrix_actors_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true, but the description adds nothing beyond them — no note that this mutates an existing actor record, that unlisted fields are preserved (PATCH semantics), or what a non-idempotent partial update implies. It neither informs nor contradicts the annotations, but contributes zero behavioral context to a mutation endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single identifier string with no sentence structure, no verb, and no front-loaded information. Its brevity is under-specification rather than efficiency — it says nothing an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint on a nested PMBOK sub-resource, with an opaque body parameter, no output schema, and no parameter documentation, the description provides none of the missing context. An agent cannot determine the required payload structure or the effect of the call from this definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the 'body' parameter is an untyped free-form object with additionalProperties=true, meaning the schema itself says nothing about what fields are accepted. The description does not compensate in any way — it names no fields, no ID format, and no expected payload shape for a write operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated verbatim ("api_pmbok_responsibility_matrix_actors_partial_update"), which is a tautology rather than an explanation. It gives no resource description, no statement of what a partial update means here, and no differentiation from siblings such as actors_update or actors_batch_action_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool instead of ciso_assistant_api_pmbok_responsibility_matrix_actors_update, actors_create, or actors_batch_action_create. An agent must infer the distinction between partial update and full update entirely from the trailing name token.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrix_actors_retrieveApi pmbok responsibility matrix actors retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorld, so the safety profile is covered. The description does add one genuinely useful behavior beyond that — 'unauthorized related fields masked' — disclosing permission-based field redaction. It says nothing about not-found behavior or what the masked fields look like, so it stops at a 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, but it is under-specified rather than concise: the one piece of information that matters (which object is returned) is missing, so the brevity is not earned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only single-object retrieval with no output schema, the description is the only place to learn what is returned. It discloses the masking behavior but never identifies the entity (a responsibility matrix actor) or its relation to matrix/activity siblings, leaving the agent materially under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (id, string) exists and it is self-evidently an identifier, so the practical risk is low. However schema description coverage is 0% and the description never mentions the id or what kind of identifier (integer, uuid, ref) it expects, so it adds nothing beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it returns 'a single object' and never names the resource. Without the tool name, an agent could not tell this apart from ciso_assistant_api_pmbok_responsibility_matrix_actors_object_retrieve or any other retrieve sibling; the wording is effectively a restatement of the verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus the sibling list, object_retrieve, or cascade_info_retrieve endpoints. The agent must infer usage purely from the name and the required id parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_matrix_actors_updateApi pmbok responsibility matrix actors updateDIdempotent
api_pmbok_responsibility_matrix_actors_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that: it does not say whether this replaces the whole actor record (vs. partial update), what fields are mutable, or what happens to omitted fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but only because it is under-specified rather than economical — it is a bare identifier with zero information content. Nothing is front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with two parameters, no output schema, no parameter documentation and four behavioral annotations, the description carries none of the burden it needs to. An agent cannot safely construct a call from this definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description offers no parameter information at all. The required 'id' and the opaque 'body' parameter (anyOf object with additionalProperties=true, default null) are completely undocumented, so an agent has no way to know what to send.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool's operation id ("api_pmbok_responsibility_matrix_actors_update"), which restates the name and title without adding any explanation. An agent can parse 'update' and 'actors' from the identifier, but nothing states what a responsibility-matrix actor is or what updating one entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given, and the sibling list contains near-identical routes (actors_create, actors_partial_update, actors_destroy, actors_update). The critical distinction between this full update and actors_partial_update is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_roles_cascade_info_retrieveApi pmbok responsibility roles cascade info retrieveCRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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's "preview" implies a dry-run style inspection of cascade effects (likely what would be deleted/affected), which is modest added context, but it does not say what the preview returns or how it relates to destructive cascade operations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words and a colon is short but severely under-specified rather than concise; there is no front-loaded statement of purpose beyond a fragment.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, single-parameter tool with no output schema, the description leaves the agent unable to predict the response shape or distinguish it from the plain roles retrieve sibling. Annotations carry the safety profile, but the semantic payload is effectively absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required `id` parameter, so the description must compensate and does not: it never says whether `id` is the responsibility role's UUID, a matrix id, or a project id. The only hint is the ambient tool name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" restates a fragment of the tool name (cascade_info) and adds only the word "preview", without naming the resource being previewed (PMBOK responsibility roles) or what a cascade preview contains. An agent must rely entirely on the tool name to know this concerns responsibility-role cascade impact.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus the many sibling cascade_info_retrieve tools (journeys, actors, folders, etc.) or versus the plain roles retrieve/object_retrieve siblings. Usage is only implied by the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_roles_listApi pmbok responsibility roles listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| builtin | No | ||
| ordering | No | ||
| taxonomy | No | ||
| max_pages | No | ||
| is_visible | No |
TDQS
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 known. The description adds only the ambiguous claim that it 'inject[s] optimized data into the serializer context,' which hints at an enriched response payload but is developer jargon and gives no usable behavioral detail about pagination, filtering, or return shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not bloated, but the brevity is under-specification rather than efficiency. The one clause that exists conveys no actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 10 undocumented optional parameters, no output schema, and a large sibling set of near-identical list tools, this description is nowhere near sufficient to support correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 10 parameters (id, limit, offset, folder, search, builtin, ordering, taxonomy, max_pages, is_visible), and the description explains none of them. Since the description is the only place semantics could be added, this is a complete gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text 'Override the list method' is an implementation note lifted from source code, not a statement of what the tool does. It only obliquely echoes the 'list' in the tool name and never names the resource (PMBOK responsibility roles) or the scope of the listing, so an agent cannot distinguish it from the many 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives such as the sibling responsibility_roles_retrieve or responsibility_roles_object_retrieve, and no prerequisites. Nothing routes the agent to or away from this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_roles_object_retrieveApi pmbok responsibility roles object retrieveCRead-onlyIdempotent
api_pmbok_responsibility_roles_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: no note on permissions, 404 behavior on unknown id, or what the returned role object contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically short, but the brevity comes from under-specification rather than efficiency — there is no front-loaded statement of action or result, just a snake_case identifier that duplicates the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only single-object retrieve with no output schema, the description should at minimum say what entity is returned and what the id refers to. None of that is present, so an agent cannot call it confidently against the many similarly named pmbok siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter 'id' with 0% schema description coverage, and the description does not say whose id it is (role id vs. matrix id vs. project id) or its format. With no compensating text, the agent must guess the identifier's scope.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the operation ID repeated verbatim ('api_pmbok_responsibility_roles_object_retrieve'), so it only restates the name. An agent can infer a single-object retrieve on a PMBOK responsibility role, but nothing states what the resource is or what distinguishes it from the sibling *_retrieve, *_list, or *_cascade_info_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no exclusions. The 'object_retrieve' suffix weakly implies fetching one record by id versus the sibling list operation, but that is inference from the name, not stated guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_roles_retrieveApi pmbok responsibility roles retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It does add context beyond annotations by disclosing that fields are masked for unauthorized users — a real data-visibility trait that readOnly/idempotent hints don't cover. However, it doesn't say what gets masked, what the caller needs in order to see full fields, or what happens when the id doesn't exist. Useful but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler. Its brevity is efficient even though the content is sparse — no redundancy or buried information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-object retrieval tool with no output schema, the description should say what object is returned and how the id identifies it. Neither is present, leaving the agent to guess the resource from the tool name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single required 'id' parameter, and the description says nothing about it — not its type, format, or whether it accepts a UUID, ref_id, or slug. The parameter is entirely undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it returns 'a single object', which without the tool name is meaningless; the resource (a PMBOK responsibility role) is conveyed only by the name, not the text. An agent can infer 'retrieve one' but the description never names the resource being fetched.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no differentiation from the many similar siblings (responsibility_roles_list, _object_retrieve, _cascade_info_retrieve, _taxonomy_retrieve). The agent gets no signal for choosing 'retrieve' over 'object_retrieve' or the list variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_pmbok_responsibility_roles_taxonomy_retrieveApi pmbok responsibility roles taxonomy retrieveCRead-onlyIdempotent
api_pmbok_responsibility_roles_taxonomy_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that — no indication of whether the taxonomy is a static enum-style lookup or tenant-scoped data, which matters given openWorldHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity is under-specification rather than economy — a bare identifier string with no sentence structure, no front-loaded explanation, and no information that isn't already in the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description is the only place an agent could learn what a 'responsibility roles taxonomy' returns (role identifiers, labels, RACI-style codes) and whether it depends on a loaded PMBOK module. It supplies neither, leaving the agent able to call the tool but unable to predict or use its result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the input schema is an empty object with additionalProperties=false at 100% coverage, so there is nothing for the description to clarify. The baseline of 4 applies for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim: "api_pmbok_responsibility_roles_taxonomy_retrieve". It restates the resource (PMBOK responsibility roles taxonomy) but adds no verb-level explanation of what the retrieval yields, and gives no signal to distinguish it from the adjacent ciso_assistant_api_pmbok_responsibility_roles_list, _object_retrieve, or _cascade_info_retrieve siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool, when not to, or which sibling to prefer. In a family with _list, _object_retrieve, and _cascade_info_retrieve variants, the agent is left to infer the choice from the name suffix alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_analytics_retrieveApi policies analytics retrieveBRead-onlyIdempotent
Aggregated analytics over the filtered applied-controls queryset.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 only that the output is aggregated, without saying what metrics, over what time window, or how the "filtered queryset" is determined given there are no parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though the terseness works against it because the one clause it contains introduces the resource ambiguity rather than resolving it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description must carry the meaning of the returned analytics, and it does not say what the aggregates contain or what the implicit filtering scope is. It gives the bare minimum to call the tool but not enough to know whether the result is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters there is nothing to disambiguate, so the baseline applies. The one caveat is the phrase "filtered queryset", which implies filtering while no filter parameters exist, but this does not materially mislead parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names an aggregation operation and a source, but the source it names ("applied-controls queryset") does not match the resource implied by the tool name (policies). That mismatch leaves the agent unsure whether this aggregates policies or applied controls, even though the aggregation nature itself is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this over alternatives, even though a direct sibling (ciso_assistant_api_applied_controls_analytics_retrieve) plausibly covers the same aggregation for a different resource, and policies_retrieve/policies_list cover raw policy data. The agent is left to infer the selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_autocomplete_retrieveApi policies autocomplete retrieveCRead-onlyIdempotent
Minimal endpoint for autocomplete selects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile is fully covered without the description. The word 'minimal' adds a small hint that the response payload is trimmed down compared to full retrieve endpoints, but nothing is said about auth, pagination, or what the truncated payload contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, and the key qualifier ('minimal', 'autocomplete') is front-loaded. It is under-specified rather than bloated, which costs nothing on this dimension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is the only place that could explain what the autocomplete response looks like (id/label pairs? a bare list? how many items?). Instead it stops at the phrase 'autocomplete selects', leaving the return shape entirely unknown for a tool whose whole value is the shape of its compact output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing for the description to explain; baseline 4 applies. No parameter claims in the description conflict with the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says this is an autocomplete endpoint, which conveys the general shape of the operation (lightweight lookup for select inputs), but it never names the resource — 'policies' appears only in the tool name. It also does not distinguish itself from siblings such as policies_list, policies_ids_retrieve, or policies_retrieve, so the agent must infer why four read endpoints exist for the same object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'for autocomplete selects' hints at a UI context, but there is no explicit when-to-use statement, no when-not, and no named alternative such as policies_list for full records. An agent deciding between this and policies_ids_retrieve has nothing to go on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_batch_action_createApi policies batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so the description's obligation is to add batch semantics: which actions are allowed, whether objects are deleted, and what happens on partial failure. None of that is disclosed, so for a mutating batch endpoint the description contributes nothing 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no padding, but it is short because it is under-specified rather than because it is efficient. There is no front-loaded statement of what gets operated on or how.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation batch endpoint with no output schema, an empty input schema, and a very large sibling set, the description omits the resource, the permitted actions, and the input contract. An agent cannot call this correctly from what is given.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares an empty object with additionalProperties=false, so the description would need to explain how target objects and the action are conveyed. It offers only the vague phrase 'on multiple objects', which is the minimum hint rather than real semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Perform a batch action on multiple objects' only restates the generic title. It never names the resource (policies) nor which batch actions are supported, so it is indistinguishable from the dozens of sibling *_batch_action_create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives such as ciso_assistant_api_policies_update or ciso_assistant_api_policies_destroy, and no prerequisites. The agent must infer everything from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_cascade_info_retrieveApi policies cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the agent knows this is a safe read. The description adds only the word "preview", implying a dry-run style response, but says nothing about what the preview contains, what is affected by the cascade, or what permissions are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words plus a colon is not conciseness but under-specification; there is no front-loaded sentence explaining the operation. Nothing is wasted, but very little is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only preview endpoint with one undocumented parameter and no output schema, the description is far too thin: the agent cannot tell what it will get back or whether calling it has any side effects on dependent objects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter "id" has 0% schema description coverage and the description supplies nothing: it never states which object type the id refers to (assumed policy) or what the id's format is. The description does not compensate for the documentation gap at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment that only restates the name/title (cascade info retrieve). It hints at a preview of cascade effects for policies, but names no verb-resource relationship the agent could act on and does nothing to separate it from the dozens of other *_cascade_info_retrieve siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus ciso_assistant_api_policies_retrieve, policies_impact_graph_retrieve, or the many other cascade_info tools. A two-word fragment leaves the agent to guess entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_category_retrieveApi policies category retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, destructiveHint=false and idempotentHint=true, yet the description says the endpoint allows data to be 'edited', contradicting the read-only contract. The description also reframes the resource as applied controls, so nothing reliable is disclosed about what this call actually does.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is technically concise, but it is boilerplate copied from another endpoint rather than front-loaded information about this one.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place an agent could learn what a 'category retrieve' returns (presumably the list of policy categories). Instead it describes a different resource, leaving the return value entirely opaque.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify and the baseline of 4 applies. The empty schema with additionalProperties=false already communicates a parameterless call fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the wrong resource entirely: the tool is a policies category lookup, but the text says it is for 'applied controls'. Combined with the generic 'viewed or edited' phrasing, an agent cannot determine what this endpoint returns, which is compounded by the near-identical sibling ciso_assistant_api_applied_controls_category_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this over ciso_assistant_api_policies_retrieve, ciso_assistant_api_policies_list, or the many other policies_*_retrieve siblings. The only usage signal, 'viewed or edited', actively points in the wrong direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_control_impact_retrieveApi policies control impact retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the resource may be 'viewed or edited', which contradicts the readOnlyHint=true annotation. No additional behavioral context (what is returned, whether it is a choices/distinct-values endpoint) is provided beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, but it is boilerplate that fails to front-load any useful purpose or scope, so its brevity comes at the cost of informativeness rather than from efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description carries the full burden of explaining what this endpoint returns (presumably control-impact choices). Instead it gives a generic 'viewed or edited' statement that leaves an agent unable to know what a call yields or why it would choose this over sibling retrieve endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema has no properties, so there is no parameter semantics for the description to clarify. Baseline 4 applies for a 0-param tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description reads as generic DRF boilerplate ('API endpoint that allows... to be viewed or edited') and does not state the specific resource or action. It even names the wrong domain ('applied controls') for a tool routed under the policies namespace, and does not distinguish it from siblings like policies_impact_effort_retrieve or policies_category_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling 'retrieve' endpoints, nor any indication that it returns choice values for a field. The agent has to infer purpose from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_createApi policies createD
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already supply readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds no behavior beyond that and is actively misleading: 'viewed or edited' implies a read/update endpoint rather than a creation endpoint, and it never says what a created policy consists of or what happens on duplicate/idempotent calls (which matters because idempotentHint=false).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is only one sentence, but that sentence does not earn its place: it is boilerplate that misidentifies the resource and the operation. Brevity here reflects under-specification rather than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create endpoint whose body schema is entirely opaque, with no output schema and no annotations conveying payload expectations, the description needed to explain the entity being created and its fields. It supplies neither, so an agent cannot invoke this correctly from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'body' is an unconstrained object with additionalProperties=true and 0% schema description coverage, so the schema documents nothing. The description does not compensate at all — it names no fields, no required keys, no format constraints, leaving an agent with no way to construct a valid payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the wrong resource entirely: the tool is ciso_assistant_api_policies_create (create an API policy under the policies endpoints), yet the text describes 'applied controls'. It also frames the operation as 'viewed or edited' rather than creation, so an agent reading only the description would form the wrong mental model of both subject and verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus policies_list, policies_update, policies_partial_update, or policies_batch_action_create, all of which appear in the sibling list. The description gives no prerequisites, no indication that a body payload is expected, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_csf_function_retrieveApi policies csf function retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, yet the description claims the endpoint allows records to be "edited." That directly contradicts the read-only annotation and would mislead an agent into expecting mutation capability. No other behavioral context (return shape, choice-list semantics) is offered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no bloat, but it is unconsumed boilerplate that is front-loaded with the wrong resource. Conciseness without accuracy does not earn more than a mid score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-output-schema read endpoint, the description should at minimum say it returns the list of CSF function values for policies. Instead it names the wrong domain object, leaving the agent without the one piece of information it needs to invoke this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description neither helps nor hurts here, though it also never clarifies that this call is argument-free.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint lets "applied controls" be "viewed or edited," but the tool name and siblings indicate this is the policies CSF-function choices endpoint. The verb is present but the resource is wrong, so an agent cannot confidently tell what this retrieves or how it differs from ciso_assistant_api_policies_csf_function_retrieve's neighbours like ciso_assistant_api_reference_controls_csf_function_retrieve or ciso_assistant_api_policies_category_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternatives, no preconditions. In a sibling set containing both reference-controls and policies CSF-function endpoints, nothing tells the agent which one to call for which purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_destroyApi policies destroyDDestructiveIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, but the description frames the endpoint as one that 'allows applied controls to be viewed or edited' — a read/edit characterization of a delete operation. This is a direct contradiction, and nothing about permanence, dependencies, or required permissions is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity is meaningless when the single sentence carries false information. There is no front-loaded statement of the verb or resource, so an agent gains nothing from reading it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, open-world tool with no output schema, an undocumented required id, and annotations that the description flatly contradicts. Everything an agent needs to invoke this safely is absent or wrong.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required 'id' parameter is undocumented in both schema and description. The description never mentions the identifier, its format, or whether it is a slug, UUID, or numeric path segment.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the wrong resource ('applied controls' when the tool operates on policies) and the wrong operation ('viewed or edited' when the tool destroys a record). It actively misleads an agent about what is being acted on and what will happen.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, no prerequisites, no mention of alternatives such as ciso_assistant_api_policies_retrieve or policies_partial_update. The only guidance offered ('viewed or edited') points the agent to the wrong operation entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_duplicate_createApi policies duplicate createD
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false and destructiveHint=false, so the agent knows this is a non-idempotent write. The description adds nothing about duplication semantics – whether relationships, owners, or linked controls are copied, or what the response is – and its 'viewed' framing is inconsistent with a write operation, so it actively degrades rather than informs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but every word of it is wasted because the content describes a different endpoint entirely. Brevity without accuracy does not earn credit.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutating, non-idempotent duplicate operation with no output schema, an undocumented id parameter, and zero annotation-documented behavior needs a description that explains what gets copied and how to call it. This description supplies none of that and substitutes an unrelated generic DRF docstring.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter (id) with 0% schema description coverage, and the description never mentions it. The agent cannot tell from any source whether 'id' is the id of the policy to duplicate or something else, nor what happens if it is invalid.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint lets 'applied controls' be 'viewed or edited', but the tool is ciso_assistant_api_policies_duplicate_create – a duplicate/create operation on policies. Both the resource and the action are wrong, so an agent reading this would form a completely false model of the tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all, and the only implied usage (view or edit applied controls) is misleading given the tool duplicates a policy. Nothing distinguishes it from siblings such as ciso_assistant_api_policies_create or ciso_assistant_api_policies_update.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_effort_retrieveApi policies effort retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, but the description claims the endpoint allows records to be 'edited', implying a write capability that the annotations deny. Beyond that it discloses nothing about what the lookup returns or whether it is enumerated/cached. This is an annotation contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence is appropriately sized and front-loaded, but it is vacuous filler rather than earned brevity — nothing in it helps an agent decide or call correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place an agent can learn that this returns the effort-level enum for policies. Instead it says nothing about the return value and misidentifies the subject, leaving the tool's actual contract undiscoverable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate, and the schema is fully closed (additionalProperties: false). Baseline for a no-parameter tool applies; the description neither helps nor hurts here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic boilerplate ('API endpoint that allows applied controls to be viewed or edited') and names the wrong resource: the tool is under policies/effort, not applied controls. It never says that it returns the set of effort level choices, so an agent cannot tell what this retrieves versus siblings like ciso_assistant_api_policies_impact_effort_retrieve or ciso_assistant_api_applied_controls_effort_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives, despite dozens of *_effort_retrieve and *_priority_retrieve siblings. Worse, the only stated scope ('applied controls') actively misroutes an agent away from the policies domain this endpoint serves.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_export_csv_retrieveApi policies export csv retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, yet the description claims the endpoint permits records to be 'edited'. That is a direct conflict with the declared safety profile, and no export-specific behavior (output format, file download, payload shape) is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short, front-loaded sentence, so it is structurally fine. But its content is boilerplate about the wrong entity, so brevity comes at the cost of being uninformative rather than efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an export tool with no output schema, the description should say what is produced (a CSV file of policies), what it contains, and whether it reflects all policies or a filtered set. None of that is present, and the stated subject matter is incorrect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema leaves nothing to explain; the description is not required to add parameter detail. It neither helps nor harms here, which is the baseline for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name and title indicate a CSV export of policies, but the description instead says it 'allows applied controls to be viewed or edited' — the wrong resource entirely and no mention of export or CSV. An agent reading only the description could not distinguish this from an applied-controls CRUD endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given, and the obvious alternative (ciso_assistant_api_policies_export_xlsx_retrieve, or policies_list) is never referenced. The description's 'viewed or edited' phrasing actively suggests a generic retrieve/update endpoint rather than an export.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_export_xlsx_retrieveApi policies export xlsx retrieveDRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true and destructiveHint=false, but the description says records can be 'edited,' which implies a write operation and directly contradicts the read-only annotation. It also fails to disclose the export behavior implied by the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only one sentence, but that sentence is wrong and does not front-load the actual export purpose. Brevity cannot compensate for misleading content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an export tool with no parameters and no output schema, the description should at least identify that it exports policies to XLSX. Instead it describes an unrelated applied-controls endpoint, leaving the agent without the essential context needed to select or invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics for the description to clarify. The baseline for a parameterless tool is 4, though the description adds no useful context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint allows 'applied controls' to be viewed or edited, but the tool name and title identify a policies XLSX export operation. It names the wrong resource and the wrong action, giving an agent no reliable understanding of what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this export endpoint versus the many sibling policy tools, such as policies_list, policies_export_csv_retrieve, or other export tools. The only usage signal is misleading because it describes viewing/editing applied controls.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_get_controls_info_retrieveApi policies get controls info retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says applied controls can be "viewed or edited", but the annotations declare readOnlyHint=true and destructiveHint=false. This directly contradicts the structured safety metadata and leaves the actual read-only behavior unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is only one sentence, but it is boilerplate ("API endpoint that allows...") rather than front-loaded with useful purpose. Brevity here reflects under-specification, not efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter retrieve tool with no output schema, the description should at least identify what is returned. Instead it is vague, suggests editing despite read-only annotations, and gives an agent no basis to select it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing for the description to clarify beyond the schema. Baseline 4 applies, though the description does not compensate for its other gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description calls this an "API endpoint" and says it relates to "applied controls", but the tool name is about policies getting controls info. It does not specify what controls information is retrieved or how this differs from the many sibling retrieve endpoints, including ciso_assistant_api_applied_controls_get_controls_info_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus alternatives. It does not mention prerequisites, filtering, or when the related applied_controls and policies retrieve tools would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_get_gantt_data_retrieveApi policies get gantt data retrieveDRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows records to be 'viewed or edited', but annotations declare readOnlyHint=true and destructiveHint=false. That is a direct contradiction of the structured safety profile. It also omits the one behavior an agent actually needs to know, namely that the response is Gantt-shaped data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is technically concise. However, the only sentence it contains is boilerplate that carries no usable information, so brevity here does not earn much credit.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a zero-parameter retrieval tool with no output schema, so the description must at least explain what is returned. Instead it offers generic DRF-style text that never mentions Gantt data, policies, or the response shape, leaving an agent unable to predict the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters at all, so the schema already provides all the documented structure an agent needs. The description does not add anything, but there is nothing left to explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'allows applied controls to be viewed or edited', but the tool is named for policies and Gantt data. It names a verb and a resource, but the resource is the wrong one, so an agent cannot learn from the description that this returns Gantt chart data for policies rather than applied controls.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all, and no distinction from the several closely named siblings such as ciso_assistant_api_policies_get_timeline_info_retrieve or ciso_assistant_api_applied_controls_get_gantt_data_retrieve. The read-only endpoint summary provides nothing that routes an agent correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_get_timeline_info_retrieveApi policies get timeline info retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows controls to be 'viewed or edited', implying write capability, while annotations declare readOnlyHint=true and destructiveHint=false for a GET-style retrieve. With annotations already covering the safety profile, the description adds no valid behavioral context and instead muddies it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, but the brevity comes from boilerplate rather than precision. The single sentence is neither front-loaded with useful information nor wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must explain what 'timeline info' returns, and it does not. For a parameterless read endpoint whose only value is its return payload, the description leaves the agent unable to predict the response shape at all.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty with 100% coverage, so there is nothing for the description to disambiguate. Baseline 4 applies; no parameter meaning is missing or conveyed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic boilerplate ('API endpoint that allows applied controls to be viewed or edited') that never mentions timelines or policies, which are the resource named in the tool name. It also attributes the endpoint to 'applied controls' rather than policies, actively misdirecting an agent trying to distinguish this from siblings like ciso_assistant_api_policies_get_gantt_data_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool, what data it returns, or how it differs from the many other policies retrieval siblings (get_gantt_data, get_controls_info, cascade_info, etc.). An agent has nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_ids_retrieveApi policies ids retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows records to be 'viewed or edited', implying a write capability, while annotations declare readOnlyHint=true and destructiveHint=false on a *_retrieve operation. It also says nothing about what an 'ids' endpoint returns or whether it is paginated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, but its brevity comes from generic boilerplate rather than from disciplined front-loading. There is no wasted length, yet the one sentence carries no useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a name implying a list of IDs, the description should explain the return shape and how it differs from the full policies_retrieve. Instead it is silent on both and misidentifies the resource, leaving the agent without enough to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing for the description to clarify; baseline 4 applies. No parameter semantics are missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence is generic boilerplate that restates an endpoint rather than stating what this tool does. Worse, it names the wrong resource: the tool is a policies IDs retrieve, but the text says it allows 'applied controls' to be viewed or edited, so an agent cannot reliably distinguish it from the many applied_controls siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus ciso_assistant_api_policies_list, ciso_assistant_api_policies_retrieve, or ciso_assistant_api_policies_object_retrieve. The phrase 'viewed or edited' actively misdirects an agent looking for a read-only ID listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_impact_effort_retrieveApi policies impact effort retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows records to be 'edited', which directly contradicts the readOnlyHint=true and destructiveHint=false annotations. No other behavior (filtering scope, what data is produced, auth or caching) is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no padding, but the content is boilerplate rather than useful information. Brevity without substance is not conciseness in the intended sense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations explaining the payload, the description is the only place to say what the response contains (e.g. the list of impact/effort labels). It says nothing about the return value or scope, so the agent cannot call it with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies. The description cannot add parameter meaning because there is nothing to describe, and nothing is stated incorrectly about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the wrong resource: it says 'applied controls' while the tool is a policies impact/effort lookup. It also fails to state what is actually returned (the impact/effort vocabulary used by policies), leaving the agent unable to tell what this endpoint produces versus the siblings ciso_assistant_api_policies_effort_retrieve or ..._impact_graph_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many adjacent policy endpoints (effort, priority, impact graph, analytics). The only implicit signal, 'viewed or edited', points in the wrong direction and gives no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_impact_graph_retrieveApi policies impact graph retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, yet the description claims the endpoint allows objects to be 'edited', implying a write capability that contradicts the annotation. It also gives no information about what the returned graph contains or how it is shaped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, so nothing is bloated, but the one sentence carries no useful information and is not front-loaded with any specifics about policies or graph data.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-arg retrieve with no output schema, the description is the only place an agent can learn what comes back, and it says nothing about the impact graph structure or its semantics. The definition is effectively opaque.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty, so there is nothing for the description to clarify. Baseline 4 applies; the description neither helps nor harms here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that the endpoint 'allows applied controls to be viewed or edited', which neither mentions policies nor the impact graph the tool is named for. It is generic Django-REST boilerplate that could describe dozens of siblings, so an agent cannot tell what this retrieve actually returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this versus the many sibling impact/graph endpoints (api_policies_impact_effort_retrieve, api_policies_control_impact_retrieve, api_policies_sunburst_data_retrieve, api_policies_retrieve). No prerequisites, no scope conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_linked_models_retrieveApi policies linked models retrieveBRead-onlyIdempotent
Return available model types that can be linked to applied controls
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 by structured data. The description adds that this is a metadata enumeration (available model types) rather than entity data, which is useful, but says nothing about whether the result is static, how it is ordered, or what fields each entry carries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, hedging, or redundant restatement of the title. It states the return content immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description carries the burden of telling the agent what comes back. It says 'model types' but not the shape (labels, ids, content types) nor how the result relates to the policies resource in the tool name, leaving a real gap for a discovery/enumeration endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; a baseline of 4 applies. The description correctly implies the call requires no input filters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a clear verb ('Return') and resource ('available model types that can be linked to applied controls'), so the kind of data returned is understandable. However, the tool name is scoped to 'policies' while the description talks about 'applied controls', and there is a sibling tool literally named ciso_assistant_api_applied_controls_linked_models_retrieve — the description does nothing to disambiguate which namespace this belongs to.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this tool, what prerequisite knowledge it serves (e.g. populating a link-type dropdown when creating a policy), or why an agent would pick it over the sibling applied_controls_linked_models_retrieve. Usage must be entirely inferred from name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_listApi policies listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| eta | No | ||
| name | No | ||
| todo | No | ||
| limit | No | ||
| owner | No | ||
| assets | No | ||
| effort | No | ||
| folder | No | ||
| offset | No | ||
| ref_id | No | ||
| search | No | ||
| status | No | ||
| eta__gt | No | ||
| eta__lt | No | ||
| category | No | ||
| eta__gte | No | ||
| eta__lte | No | ||
| findings | No | ||
| ordering | No | ||
| priority | No | ||
| eta__year | No | ||
| evidences | No | ||
| incidents | No | ||
| max_pages | No | ||
| to_review | No | ||
| eta__month | No | ||
| objectives | No | ||
| is_assigned | No | ||
| processings | No | ||
| csf_function | No | ||
| stakeholders | No | ||
| linked_models | No | ||
| control_impact | No | ||
| progress_field | No | ||
| risk_scenarios | No | ||
| filtering_labels | No | ||
| risk_assessments | No | ||
| risk_scenarios_e | No | ||
| genericcollection | No | ||
| reference_control | No | ||
| security_exceptions | No | ||
| findings_assessments | No | ||
| compliance_assessments | No | ||
| requirement_assessments | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The only added signal is 'inject optimized data', which vaguely hints at enriched payloads but discloses nothing concrete about pagination, filtering behavior or result shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is internal implementation jargon that does not front-load the tool's purpose. Brevity here reflects under-specification rather than efficiency; the one sentence does not earn its place for a caller.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 45-parameter list endpoint with no output schema and no parameter descriptions, the description supplies essentially nothing an agent needs: no object being listed, no filterable fields, no pagination contract, no return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
45 parameters with 0% schema description coverage and no types on most (all anyOf with no definitions), and the description says nothing about any of them. Filtering, ordering, search, offset/limit, max_pages and id are entirely undocumented, leaving an agent unable to construct a correct call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a Django developer docstring ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does for a caller. An agent can infer it is a list endpoint for policies only from the tool name, not from the description, which never mentions policies or listing semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many sibling policy endpoints (policies_retrieve, policies_object_retrieve, policies_autocomplete_retrieve, policies_ids_retrieve, policies_analytics_retrieve). The sentence gives a caller no selection criteria at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_merge_createApi policies merge createC
Merge N source applied controls into 1 target. See
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true. The description adds only the N-to-1 merge semantics, without explaining what happens to the source controls, whether the operation is reversible, or what permissions are needed. The trailing incomplete 'See' further weakens behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is appropriately short, but the dangling 'See' is an incomplete fragment that adds noise rather than information. The description is not structurally complete enough to be considered concise and well-formed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutating merge tool with no output schema, so the description carries substantial explanatory burden. One sentence plus a broken 'See' does not explain the merge behavior, the source/target relationship, or the expected result. It is too incomplete for an agent to invoke confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter semantics for the description to add. With an empty schema and 100% schema coverage, the baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and operation (merge N source applied controls into 1 target), which is more than a restatement of the name. However, it never explains how 'policies' relates to 'applied controls', and the dangling 'See' leaves the purpose incomplete. Sibling tools such as ciso_assistant_api_applied_controls_merge_create are not distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which alternative to choose. The presence of a near-identical sibling (applied_controls_merge_create) makes this omission significant. The description only implies the operation, without routing the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_mss_xlsx_retrieveApi policies mss xlsx retrieveBRead-onlyIdempotent
Export filtered applied controls in ANSSI MonServiceSécurisé format
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered structurally. The description adds the useful fact that the output is an ANSSI-conformant xlsx, but it does not explain what 'filtered' means operationally or how the file is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, front-loading the export action and format. It is efficient, though it is arguably too sparse given the ambiguities left unresolved.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter export with no output schema, the description should at least clarify what is exported (policies vs applied controls) and that the result is a binary file. It states the format but leaves the subject ambiguity and the missing filters unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the usual baseline would be 4. But the description's claim of 'filtered' output implies filter parameters that do not exist in the schema, which can mislead an agent into looking for filter inputs; that reduces the value of the description here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete verb (export) and a specific deliverable format (ANSSI MonServiceSécurisé xlsx), which tells an agent what the tool produces. However it calls the exported objects 'applied controls' while the tool name is scoped to policies, and it does not distinguish this from the sibling applied_controls_mss_xlsx_retrieve or policies_export_xlsx_retrieve, leaving the agent to guess which export to call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this MSS export over policies_export_xlsx_retrieve or the applied-controls MSS sibling. The word 'filtered' hints at a scoping behavior but gives no condition or prerequisite for invoking the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_object_retrieveApi policies object retrieveDRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations explicitly declare readOnlyHint=true, but the description says the endpoint allows records to be 'viewed or edited', directly contradicting the structured safety metadata. The resource mismatch adds further confusion rather than useful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no padding. However, its brevity is not useful because the content appears to be copied from another endpoint and does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve-by-id tool with no output schema, the description should at minimum identify the policy object being retrieved and explain the id. Instead it misidentifies the resource and provides no return-value context or parameter semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the required 'id' parameter. It instead makes no mention of what the id identifies or how it is used, leaving the sole parameter semantically empty.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the wrong resource entirely: it says the endpoint is for 'applied controls', while the tool is named for policies object retrieval. It also describes 'viewed or edited', which is neither specific to a single-object retrieve nor consistent with the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this retrieve-by-id tool versus the many sibling list, object_retrieve, or search tools. No prerequisites 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.
ciso_assistant_api_policies_owner_retrieveApi policies owner retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the resource can be 'viewed or edited', implying write capability, while annotations declare readOnlyHint=true and destructiveHint=false. That is a direct contradiction. It also omits what the endpoint returns and that it is a zero-parameter, open-world read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding and nothing buried. Its brevity is not the problem — the problem is that the one sentence carries incorrect and non-specific content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only source of meaning, and it fails to say what a policies-owner retrieve returns (owners of policies, presumably user/team references) or how it relates to sibling endpoints. The boilerplate leaves the agent unable to call it correctly or confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters (0 required, 0 optional), so there is nothing for the description to disambiguate. Baseline 4 applies; the description neither helps nor hurts here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django REST Framework boilerplate: 'API endpoint that allows applied controls to be viewed or edited.' It does not name the actual resource implied by the tool name (policies / owner), so an agent cannot tell what this endpoint retrieves or how it differs from ciso_assistant_api_policies_object_retrieve or ciso_assistant_api_policies_retrieve. The mismatch between 'applied controls' and 'policies owner' actively misdirects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is mentioned. With dozens of sibling policies endpoints (object_retrieve, retrieve, list, updatables, owner_retrieve), the description provides zero routing signal, leaving selection entirely to guesswork from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_partial_updateApi policies partial updateD
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the description's only job is to add mutation detail. Instead it ambiguously says records can be 'viewed or edited', never states this is a partial update (only listed fields change), and says nothing about permissions, validation, or open-world side effects flagged by openWorldHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but brevity here is under-specification rather than conciseness — the one sentence that exists carries misinformation about the resource and the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with no output schema, 0% schema coverage, and nested/free-form body needs a description explaining payload shape and patch semantics. None of that is present, and the resource reference is wrong.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and both parameters (id, body) are undocumented in the schema. The description adds nothing about the id path identifier or the free-form body payload, leaving the agent with an opaque object it must guess at.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the wrong resource: it says 'applied controls' while the tool operates on policies. It also describes viewing/editing rather than the partial (PATCH-style) update implied by the name, so an agent cannot reliably tell what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this instead of ciso_assistant_api_policies_update, policies_create, or policies_retrieve. Neither preconditions nor exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_per_status_retrieveApi policies per status retrieveDRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, but the description says the endpoint "allows applied controls to be viewed or edited," implying a write capability that does not exist on this route. It adds no other behavioral context (what the per-status grouping returns, whether counts or objects). The description contradicts rather than supplements the structured 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence and therefore appropriately sized and front-loaded, but the sentence does not earn its place because its content is boilerplate that misidentifies the resource. Length is fine; substance is not.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is an aggregation-style retrieve endpoint with no parameters and no output schema, so the description is the only place an agent could learn what a "per status" response looks like (status keys with counts vs. a list of policies). It delivers none of that and instead describes a different endpoint, leaving the tool effectively undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% coverage, so there is nothing for the description to document; the 4 baseline for no-param tools applies. The description neither helps nor hurts here, though it does nothing to clarify that the status dimension is implicit rather than a filter argument.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the wrong resource: it says the endpoint is for "applied controls" while the tool is ciso_assistant_api_policies_per_status_retrieve, i.e. policies grouped per status. Neither "policies" nor the per-status aggregation appears, so an agent reading only the description would select the wrong tool. This is boilerplate copied from a generic viewset docstring, not a statement of this tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of the obvious alternatives in the sibling list (ciso_assistant_api_policies_list, ciso_assistant_api_policies_status_retrieve, ciso_assistant_api_policies_retrieve). Worse, the one signal it gives — "applied controls" — would steer an agent away from the correct siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_priority_chart_data_retrieveApi policies priority chart data retrieveDRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, yet the description says records can be 'viewed or edited', implying a write capability the tool does not have. It also omits any hint of what the chart payload contains, leaving the behavior opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence that is concise but carries no useful content — brevity here is under-specification rather than efficiency, since the only sentence present is inaccurate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the sole source of information about what this chart-data endpoint returns, and it supplies none — it instead describes a different resource. An agent has no basis for calling it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description does not misuse the empty schema, though it also adds nothing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the wrong resource entirely: it says the endpoint lets 'applied controls' be viewed or edited, while the tool is a policies priority chart data endpoint (the applied-controls equivalent exists as a separate sibling). Nothing indicates it returns chart/aggregation data for policies, so an agent cannot tell what this tool actually produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the sibling ciso_assistant_api_policies_priority_retrieve or ciso_assistant_api_policies_sunburst_data_retrieve that an agent would otherwise confuse this with. The single boilerplate sentence gives no selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_priority_retrieveApi policies priority retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, yet the description claims the endpoint allows records to be 'edited' — a write capability the tool cannot perform (no parameters at all). This directly conflicts with the structured safety metadata and also misidentifies the affected resource, providing zero usable behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not bloated, but the one sentence it spends is boilerplate that carries no information about this specific endpoint. Brevity without content does not earn credit.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place a caller could learn what a 'priority retrieve' returns (presumably the priority enum/choice list) and how it differs from the priority chart-data sibling. It supplies none of that, leaving the agent to guess at the response shape and intended use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there is nothing for the description to explain beyond the schema; the baseline for zero-param tools applies. The description neither helps nor harms here, though its mention of editing implies inputs that do not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence is generic DRF-viewsets boilerplate: it says the endpoint 'allows applied controls to be viewed or edited', which describes a different resource ('applied controls') than the tool's own name ('policies priority'). The actual purpose — returning the priority choice/enum values used by policies — is never stated, so an agent cannot distinguish it from siblings like policies_priority_chart_data_retrieve or policies_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when not to use it, and no reference to any of the many sibling endpoints (policies_priority_chart_data_retrieve, policies_per_status_retrieve, policies_retrieve). The agent must infer the selection rule entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_retrieveApi policies retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds one genuinely useful trait beyond that: unauthorized related fields are masked in the response. It does not say what masking depends on (permissions) or how it affects the returned object.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence with no filler, so nothing is wasted, but it is under-specified rather than concise. The only substantive information (field masking) is tucked in a subordinate clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of describing the return value; it only says "a single object" and mentions masked fields without saying how the caller can tell which fields were masked. For a read tool in a very large sibling set, this leaves the agent short of what it needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required `id` parameter, and the description adds nothing about it — not its format (UUID vs numeric), not whether it identifies a policy or an object relation. With no compensation for the coverage gap, this falls below baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only "Return a single object" and never names the resource (policies) or its scope. The resource can only be inferred from the tool name, and there is a sibling ciso_assistant_api_policies_object_retrieve that the description does nothing to distinguish from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the near-identical siblings (policies_list, policies_object_retrieve) that an agent must choose between. Everything about selection 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.
ciso_assistant_api_policies_status_retrieveApi policies status retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, yet the description says the endpoint allows records to be 'viewed or edited' – implying write capability that the annotation explicitly denies. It also never states what this endpoint actually returns (presumably the enumerated policy status choices).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single, front-loaded sentence with no padding, which is structurally fine. However, the sentence is generic DRF boilerplate that spends its only clause on the wrong resource, so brevity does not translate into usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place an agent could learn that this returns the set of valid policy statuses. Instead it describes a different entity and a read/write capability, leaving the actual behavior undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is no parameter semantics burden; the baseline of 4 applies. The description adds nothing about parameters, but nothing is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'API endpoint that allows applied controls to be viewed or edited', but the tool is a status-retrieve endpoint for policies, not applied controls. It names the wrong resource, so an agent cannot distinguish this from ciso_assistant_api_applied_controls_status_retrieve or the many other *_status_retrieve siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the dozens of other status/choices endpoints, and no scope or prerequisite information. Given the description points at a different resource entirely (applied controls), any inference an agent draws about when to use it would likely be wrong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_sunburst_data_retrieveApi policies sunburst data retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, yet the description says the endpoint allows data to be 'edited' — a direct conflict. It also never explains what the sunburst payload is (hierarchy levels, aggregation) or how costly/open-world the call is, despite openWorldHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, which is structurally fine. But brevity is achieved by being wrong and uninformative rather than by front-loading the essential fact (that this returns sunburst chart data for policies).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and minimal annotations, so the description must explain what a sunburst data payload is and when to request it. Instead it describes a different resource and a different (write) capability, leaving the agent with no usable information about the return value or purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline for a parameterless tool applies. No credit or penalty here — the description's problems lie elsewhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a resource ('applied controls') that is not this tool's resource — the tool name says 'policies' and 'sunburst data'. It also never mentions sunburst/chart data, so an agent cannot tell what this produces or distinguish it from the many sibling retrieve endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus siblings such as applied_controls_sunburst_data_retrieve, findings_assessments_sunburst_data_retrieve, or the plain policies_retrieve/list. The only hint is generic 'viewed or edited', which is not a usage condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_sync_to_reference_control_createApi policies sync to reference control createD
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the write/repeatability profile is already known; the description adds nothing about what gets created, what happens on re-sync (non-idempotent!), or what permissions are required. The 'viewed or edited' phrasing actively mischaracterizes a create/sync endpoint as a view/edit endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, but that brevity comes from under-specification rather than economy; there is no front-loaded statement of the actual operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a non-idempotent, open-world create/sync mutation with no output schema and an undocumented id parameter. The description supplies none of the context an agent needs to invoke it safely, and the generic text hides the operation entirely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter, 'id', with 0% schema description coverage. The description says nothing about whether this id refers to the policy being synced, the reference control, or the resulting applied control — which is the single most important ambiguity for this tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence is generic DRF boilerplate ('allows ... to be viewed or edited') and never mentions the actual action, which is syncing a policy to a reference control. It also names the wrong resource ('applied controls'), so an agent reading only the description would not understand what the tool creates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the obvious siblings that would be confused with it (policies_sync_to_reference_control vs reference_controls_sync_applied_controls_create, or policies_update). The agent has nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_todo_retrieveApi policies todo retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and idempotentHint=true, but the description says the endpoint allows items to be 'viewed or edited', implying write capability. That contradicts the read-only annotation, and no other behavioral context (scope, filtering, return shape) is added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is structurally efficient. But the sentence is generic boilerplate that does not earn its place because it misdescribes the resource and the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameter schema, the description carries the full burden of explaining the 'todo' semantics and the return set, and it does neither. An agent cannot infer what this endpoint returns or why it exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is closed, so there is nothing for the description to disambiguate. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is stock DRF boilerplate ('API endpoint that allows applied controls to be viewed or edited') and never explains what the 'todo' collection is. Worse, it names 'applied controls' as the resource while the tool is scoped to policies, so the stated resource conflicts with the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this versus the many siblings like ciso_assistant_api_policies_to_review_retrieve or ciso_assistant_api_applied_controls_todo_retrieve. The agent gets no routing guidance at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_to_review_retrieveApi policies to review retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows records to be 'viewed or edited', but annotations declare readOnlyHint=true and destructiveHint=false. A retrieve tool that claims to allow editing directly contradicts the structured safety profile, and no other behavioral context (scope of 'to review', pagination, auth) is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, but the space it occupies is spent on boilerplate about a different resource rather than on the tool's actual scope. Brevity here reflects an empty payload, not efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter retrieval endpoint with no output schema and no annotations about return shape, the description should at least say what collection is returned and what 'to review' filters on. Instead it describes an unrelated entity, leaving the agent with no idea what comes back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. No parameter-related omissions are possible here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and title indicate a retrieval of policies that need review, but the description talks about a completely different resource ('applied controls'). It is generic DRF boilerplate that does not state what this endpoint returns, so an agent cannot tell its purpose 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no explanation of what 'to review' means (which status/due condition triggers inclusion). An agent sees dozens of sibling 'to_review' and 'policies_*' tools with nothing to discriminate among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_updatables_retrieveApi policies updatables retrieveCRead-onlyIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, yet the text says the endpoint allows records to be "viewed or edited". That is a direct conflict, and the description adds no real behavioral context (no auth requirement, no scope, no result shape).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, so there is no padding to trim, but it is a generated placeholder that carries no information about the actual endpoint. Brevity here comes from emptiness, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description is the only place an agent can learn what an "updatables" retrieval returns. It instead describes a different entity and a mutation capability the tool does not have, leaving the call semantics undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline there is nothing for the description to document. The wrong resource name is a purpose problem rather than a parameter problem.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint lets "applied controls" be "viewed or edited", but the tool name and sibling set place this endpoint under `policies` (compare the parallel `ciso_assistant_api_applied_controls_updatables_retrieve`). It never explains what "updatables" means or what the endpoint actually returns, so an agent reading only the description would route to the wrong resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite, and no mention of the near-identical siblings (`policies_retrieve`, `policies_list`, `applied_controls_updatables_retrieve`). The description is boilerplate that gives the agent nothing to discriminate on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_policies_updateApi policies updateDIdempotent
API endpoint that allows applied controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true. The description adds no behavioral detail beyond a generic 'viewed or edited' phrase, and it does not clarify the actual policy-update behavior or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only one sentence, but it is a misdirected generic template rather than a useful front-loaded statement. Brevity does not help when the sentence describes the wrong resource and action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a two-parameter update tool with no output schema, the description should at least identify that it updates policies and what the body represents. Instead it refers to applied controls and provides no context sufficient to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description does not explain either parameter. It says nothing about the required 'id' or the optional 'body' object, so it 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name and title identify a policy update operation, but the description says it allows applied controls to be viewed or edited. That is not merely vague; it points to the wrong resource and mixes read/edit behavior, so an agent cannot reliably tell what this tool actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool, when not to use it, or how it differs from the many sibling update tools. Its only clause describes viewing/editing applied controls, which does not help select a policies update endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_presets_apply_createApi presets apply createD
api_presets_apply_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose that this is a non-read-only, non-idempotent, open-world, non-destructive create operation, which is most of the behavioral signal available here. The description adds nothing beyond that – no indication of what gets created or mutated, whether the source preset is changed, or what side effects 'apply' triggers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely short with no wasted words, but this is under-specification rather than conciseness; a single identifier string conveys no information an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world mutation with one unexplained parameter and no output schema, the definition is completely inadequate. Nothing tells the agent what state change results, whether it is reversible, or what a successful response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is undocumented in both schema and description. The description does not clarify whether 'id' identifies the preset to apply, a target object to apply a preset to, or something else entirely – a critical ambiguity for the only input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal string "api_presets_apply_create" – a tautological restatement of the tool name that never states a verb or resource in plain language. It does not explain what 'apply' does to a preset (instantiate it, deploy it, run it against a scope?) nor distinguish it from siblings such as presets_publish_draft_create or presets_start_editing_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool, what prerequisites exist, or which of the many sibling preset tools is the alternative. An agent must guess based solely on the underscored name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_presets_batch_action_createApi presets batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered, but the description adds nothing beyond that: it does not say which batch actions are supported, whether a partial failure is atomic, or what side effects occur on the affected presets. For a non-idempotent mutation reached via an empty schema, that is a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so nothing is wasted, but the brevity comes from under-specification rather than efficiency. There is no front-loaded detail an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A non-idempotent mutation tool with an empty input schema, no output schema, and no annotations detail beyond hints. The description supplies none of the missing context (payload shape, supported actions, effect on presets), so the definition is not sufficient to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero declared parameters the baseline would be 4, but here the schema is an empty object with additionalProperties=false, so an agent has literally no documented way to identify the target objects or the action to perform. The description does not compensate by describing the expected action/ids payload, leaving the invocation path unresolved.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Perform a batch action on multiple objects" restates the name's own wording (batch action) without naming the resource (presets) or the kinds of actions available. It is indistinguishable from the dozens of sibling *_batch_action_create tools (assets, incidents, users, webhooks...) except via the tool name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when this should be used instead of sibling endpoints such as presets_update, presets_partial_update, presets_destroy, or presets_apply_create. The agent is left to infer that this is the bulk/multi-object variant purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_presets_cascade_info_retrieveApi presets cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond the word "preview" – no statement of what the cascade info contains, what is affected downstream, or whether it is a dry run of a destructive operation, which is the critical question here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words and a stray colon – it is short but under-specified rather than concise; the trailing colon suggests the text was cut off, leaving nothing front-loaded beyond a label.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a required id, no output schema, no guidance about a preview/cascade operation, and dozens of similarly named siblings, the description provides nothing an agent needs to invoke it correctly. It is effectively missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter (id) with 0% schema description coverage, and the description does not say whose id it is (a preset id, a published preset id, a draft id) or what form it takes. This is exactly the case where the description must compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment "Cascade preview:", which mostly restates the title (Api presets cascade info retrieve) rather than stating a verb and resource. An agent can guess it previews some cascade effect on presets, but what is being previewed, and over what input, is never said.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is given, despite many near-siblings (ciso_assistant_api_presets_publish_draft_preview_create, ciso_assistant_api_presets_apply_create, other *_cascade_info_retrieve tools). The colon-terminated fragment implies more text was truncated, leaving the agent to infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_presets_createApi presets createD
api_presets_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a non-readonly, non-idempotent, non-destructive, open-world write, so the safety profile is covered. The description adds nothing at all — it does not say what a created preset contains, whether it starts as a draft, whether a body is required, or what happens on repeat calls despite idempotentHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is under-specified rather than economical — there is no front-loaded statement of purpose, scope or prerequisites. Nothing in the text earns its place beyond echoing the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with an opaque payload object, no output schema and a dense cluster of sibling preset tools needs far more context than this. An agent cannot correctly call or disambiguate this tool from the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'body' parameter is an unconstrained object with 0% schema description coverage, and the description never mentions it. With schema coverage this low, the description was the only place to explain the expected payload, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the tool name with underscores ('api_presets_create'), so it restates the identifier rather than stating what the tool does. An agent can infer a create operation on presets from the name alone, but nothing in the description distinguishes it from the many preset siblings such as presets_create_blank_create, presets_duplicate_create or presets_apply_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which of the closely related preset-creation tools (blank create, duplicate, apply) should be chosen instead. The agent is left to guess entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_presets_create_blank_createApi presets create blank createD
api_presets_create_blank_create
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false (this is a non-idempotent write), openWorldHint=true, destructiveHint=false. The description adds nothing beyond those structured hints - no info on what the blank preset contains, whether it persists, or what happens on repeated calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One token repeated, with nothing to front-load because there is no information. This is under-specification masquerading as brevity, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no params, and a write tool whose effect is entirely undefined. The agent cannot know whether this creates a draft preset, an empty template record, or a preset in editing mode - a critical distinction among the presets siblings like start_editing_create and publish_draft_create.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so parameter semantics is a baseline-4 case. The description neither helps nor hurts here, but it also gives no indication of how the created preset would be identified or what the body of a 'blank' preset comprises.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool's own identifier, 'api_presets_create_blank_create', with underscores removed-free. This is a tautology that restates the name without saying what a 'blank preset' is or how it differs from siblings like presets_create, presets_duplicate_create, or presets_start_editing_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use it, what prerequisites exist, or which sibling to prefer. With presets_create, presets_duplicate_create, presets_apply_create, and presets_start_editing_create all adjacent, the agent has no basis to choose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_presets_destroyApi presets destroyDDestructiveIdempotent
api_presets_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 fully covered by structured data. The description adds no behavioral context of its own — no statement about cascading effects on applied presets, permissions required, or whether deletion is recoverable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but that brevity reflects under-specification rather than efficiency — the single token conveys no information beyond the tool name. There is no front-loaded statement of action or consequence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, irreversible-by-default operation in a large sibling namespace, the definition supplies no scope, no return behavior, no warning about what is removed, and no parameter description. An agent cannot tell what a 'preset' is or confirm it is targeting the right record before destroying it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description contributes nothing about the single required 'id' parameter. It is only inferable that the string is the identifier of the preset to delete because of the tool name, not because the description says so.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated verbatim ('api_presets_destroy'), which restates the title rather than stating a purpose. An agent can infer deletion of a 'preset' resource only from the identifier itself, and 'presets' is never explained in terms of what domain object it is or why one would delete it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no preconditions, and no mention of alternatives such as partial_update, discard_draft, or the retrieve/list siblings that would let an agent confirm which preset is being removed. Nothing distinguishes this from the dozens of other *_destroy tools in the namespace.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_presets_discard_draft_createApi presets discard draft createD
api_presets_discard_draft_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety envelope is partially covered structurally. However, the description adds nothing beyond that — it does not say whether a discarded draft is recoverable, what state the preset returns to, or that the operation is irreversible (non-idempotent).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness — a single identifier token with no front-loaded explanation of purpose, preconditions, or effect. Brevity here costs the agent everything it needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating, non-idempotent operation on presets with a required id and no output schema, the description omits what is discarded, the resulting state, error conditions, and prerequisites. Nothing an agent needs in order to call this correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is completely undocumented. The description does not clarify whether 'id' refers to the preset, the draft revision, or something else — the one piece of information most needed before invocation is absent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description repeats the operation ID verbatim ('api_presets_discard_draft_create'), which is a tautology of the tool name rather than an explanation. An agent can guess at a verb (discard) and resource (draft) from the identifier, but the description itself adds no meaning about what a preset draft is or what discarding it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which siblings (e.g. save_draft_partial_update, publish_draft_create, start_editing_create) it should be chosen over. The description provides zero routing information in a sibling set of hundreds of tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_presets_duplicate_createApi presets duplicate createD
api_presets_duplicate_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true, so the mutation profile is known. The description adds nothing: it does not say the source preset is unchanged, whether the copy gets a new ref_id/name, or whether related objects are cloned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One identifier string with no sentence structure or front-loaded information. This is under-specification rather than conciseness; there is nothing to trim and nothing to learn.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A non-idempotent create/duplicate mutation with an undocumented parameter, no output schema, and a huge sibling set including several other preset create variants. The description provides none of the context needed to call or distinguish it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter is only named 'id' with no description. The description does not clarify whether this id refers to the preset being duplicated or the target object, which is exactly the ambiguity the schema leaves open.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name restated ('api_presets_duplicate_create'), a tautology. The name implies duplicating a preset, but the description never states the verb-resource relationship in prose or what 'presets' are, so the agent must infer entirely from naming convention.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to duplicate versus using ciso_assistant_api_presets_create, _apply_create, _create_blank_create, or _save_draft_partial_update, all close siblings. No prerequisites, no 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.
ciso_assistant_api_presets_listApi presets listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| provider | No | ||
| max_pages | No |
TDQS
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. As a method override, the description has real behavioral implications (extra data injected into the serializer context) but never explains what that means for a caller — no mention of response shape, whether results are filtered, or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no bloat, but the content is misfocused: it spends its only sentence on an internal implementation detail instead of the front-loaded purpose an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Eight optional parameters with zero schema documentation, no output schema, and a description that explains none of them. An agent has no basis to construct a correct call or predict results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and all eight parameters (id, limit, folder, offset, search, ordering, provider, max_pages) have empty anyOf schemas with null defaults. The description compensates for none of this — it mentions no parameter at all, leaving limit/offset/search/ordering semantics entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of user-facing purpose. It never says the tool lists API presets or what a preset is; an agent must infer from 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus siblings like ciso_assistant_api_presets_retrieve, presets_apply_create, or presets_object_retrieve. The text addresses a Django developer extending the view, not an agent choosing a tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_presets_object_retrieveApi presets object retrieveDRead-onlyIdempotent
api_presets_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 contributes nothing beyond that - no note on what object is fetched, what happens with an unknown id, or access requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from under-specification rather than efficiency - the single phrase restates the name and carries zero information payload.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool in a very large sibling namespace with no output schema and no parameter documentation, the description provides nothing an agent could act on. It is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter 'id' is undocumented in both schema and description. The description does not reveal that 'id' identifies a preset object, nor its format, leaving the agent to infer everything.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated verbatim: 'api_presets_object_retrieve'. It adds no verb, resource, or scope information beyond the identifier itself, and gives no way to distinguish this from the many sibling *_object_retrieve tools or from ciso_assistant_api_presets_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus ciso_assistant_api_presets_retrieve, presets_list, or presets_cascade_info_retrieve. Nothing indicates prerequisites or context of use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_presets_partial_updateApi presets partial updateD
api_presets_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is known without the description. The description adds no behavioral context beyond that — nothing about authentication, what the body can contain, or that updates are non-idempotent partial merges. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one token long, so there is no waste, but that is under-specification rather than conciseness. Nothing is front-loaded because nothing is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with two parameters, 0% schema coverage, no output schema, and a free-form body — the description supplies none of the information needed to call it correctly. This is wholly inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description says nothing about either parameter. The 'id' path parameter and the opaque free-form 'body' object (anyOf object/null, additionalProperties true) are completely undocumented, leaving the agent to guess the payload shape for a preset update.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw operation id 'api_presets_partial_update', restating the tool name without a verb-plus-resource sentence or any statement of what is being updated. An agent must infer from the name alone that this is a partial (PATCH) update of a preset resource, and nothing distinguishes it from ciso_assistant_api_presets_update or ciso_assistant_api_presets_save_draft_partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or sibling routing guidance at all. The sibling list contains several near-identical preset mutation tools (update, save_draft_partial_update, batch_action_create), and the description offers nothing to disambiguate them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_presets_publish_draft_createApi presets publish draft createD
api_presets_publish_draft_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false, but the description adds zero behavioral context — nothing about what publishing affects, whether it is reversible, whether it requires an editing lock, or what a non-idempotent publish implies on retry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is an identifier echo; there is no information to front-load. This is under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world write operation with no output schema and an undocumented parameter, the description supplies none of the information an agent needs to invoke it safely or correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, 'id', at 0% schema description coverage — so the description must compensate and it does not. It never says whether 'id' is the preset id, the draft revision id, or the object being published, which is critical given that a wrong id in a non-idempotent publish could be harmful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the tool name re-formatted ('api_presets_publish_draft_create'), so it is a tautology rather than an explanation. The name hints at publishing a draft preset, but the description never states what a preset is, what publishing does, or how it differs from sibling operations such as presets_publish_draft_preview_create, presets_save_draft_partial_update, or presets_discard_draft_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no preconditions (e.g. an active editing session or draft), no statements about when not to use it, and no reference to any of the many sibling draft-lifecycle tools in the same namespace.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_presets_publish_draft_preview_createApi presets publish draft preview createD
api_presets_publish_draft_preview_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, but the description adds no behavioral context at all — nothing about side effects, whether the 'preview' mutates state, or what authorization is required. With a name implying both write and preview semantics, the burden was high and the description is silent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
No wasted words, but only because there is no content — the entire description is an underscore-delimited slug. It is under-specified rather than concise, and nothing is front-loaded because nothing is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a mutation-adjacent annotation profile, no output schema, and an undocumented required id. Given that complexity, a description consisting solely of the tool name is completely inadequate for an agent to invoke it correctly or understand the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single required 'id' parameter. The description does not state whether the id identifies the preset, the draft, or a revision, which is exactly the ambiguity the schema leaves open. The parameter name is only mildly self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool identifier 'api_presets_publish_draft_preview_create' with no added explanation. An agent learns nothing about what a preview of a preset draft publish actually produces or how it differs from the sibling 'ciso_assistant_api_presets_publish_draft_create'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to call this preview endpoint versus the actual publish tool, nor any prerequisite context (e.g. that a draft must first exist via start_editing/save_draft). Usage must be inferred entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_presets_retrieveApi presets retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 unauthorized related fields are masked, which is useful behavioral context beyond annotations, but it does not explain auth requirements, error behavior, or other relevant traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, but it is not front-loaded around the actual action or resource. It leads with return behavior rather than stating 'retrieve a preset by id'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieve-by-id tool, the description should at least identify the resource and the id parameter. It instead only describes masked return fields, leaving the core purpose and parameter semantics incomplete despite the annotations covering read safety.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required 'id' parameter has 0% schema description coverage and the description does not mention it at all. The schema shows it is a required string, but the description adds no meaning about what id refers to or how it is used.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only says 'Return a single object with unauthorized related fields masked.' It never states that the object is a preset or that retrieval is by id, so the actual resource and operation must be inferred from the tool name. It is more informative than a tautology but still vague about purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus siblings such as ciso_assistant_api_presets_list, ciso_assistant_api_presets_object_retrieve, or other retrieve tools. The description provides no conditions, exclusions, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_presets_save_draft_partial_updateApi presets save draft partial updateD
api_presets_save_draft_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false, so the safety profile is partly known. The description adds zero behavioral context: it does not say what a 'draft' is, whether the save overwrites prior draft content, or what state the preset must be in.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is brief, but only because it is under-specified rather than economical: the entire text is the tool's own name, with no front-loaded statement of action or scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world mutation with no output schema and an effectively undocumented payload, the description supplies nothing an agent needs to invoke it correctly. The draft lifecycle semantics implied by the name are entirely unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter is an opaque 'id' with no type context beyond 'string'. The description does not clarify whether this is the preset id, a draft id, or a revision id, nor what the partial payload should contain (the schema in fact lists only 'id').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the snake_case identifier restated as prose ('api_presets_save_draft_partial_update'), which is a tautology of the name. An agent can vaguely infer a draft-saving partial update on 'presets', but no verb+resource statement explains what is actually saved or on which object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the many sibling draft tools (presets_start_editing_create, presets_publish_draft_create, presets_discard_draft_create, presets_partial_update). No prerequisites, no exclusions, no alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_presets_start_editing_createApi presets start editing createD
api_presets_start_editing_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true, but the description adds nothing further. It does not explain what an editing session is, whether it locks the preset, whether it can be called twice, or what happens on failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token, so there is no bloat, but the terseness is under-specification rather than concision. Nothing is front-loaded because nothing is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent mutation tool with an undocumented parameter and no output schema, the description should explain the editing-session lifecycle and the id's meaning. None of that is present, so an agent cannot call it correctly with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required 'id' parameter with 0% description coverage, and the description says nothing about it. It is left unclear whether the id refers to the preset, a draft revision, or a session, which is the key ambiguity for this tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool name re-spaced ('api_presets_start_editing_create'), which is a tautology rather than an explanation. An agent can infer something about starting an editing session on a preset from the identifier, but the description itself contributes no verb, resource, or scope beyond that.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus alternatives such as api_presets_save_draft_partial_update, api_presets_discard_draft_create, or the similar start_editing tools on other resources. No preconditions, no exclusions, and no lifecycle context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_presets_updateApi presets updateDIdempotent
api_presets_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description, however, adds nothing beyond that – it does not say what is mutated, whether all fields are required, or whether the operation affects published versus draft presets.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token with zero waste, but this is under-specification rather than conciseness. Nothing is front-loaded because nothing is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a mandatory id and an open free-form body, no output schema, and no documentation, the description leaves every call-shaping question unanswered. An agent cannot invoke this correctly without guessing the body payload.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across two parameters: 'id' (required string) and a completely undocumented free-form 'body' object. The description compensates for none of this – the agent has no idea what fields belong in the body, which is the entire payload of a PUT-style update.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool name rephrased: 'api_presets_update'. It conveys only that something called an API preset is updated, with no statement of what a preset contains or what an update changes. It cannot be distinguished from sibling tools like ciso_assistant_api_presets_partial_update or ciso_assistant_api_presets_update_retrieve on the basis of the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many closely named preset siblings (partial_update, save_draft_partial_update, publish_draft_create, update_retrieve). No prerequisites, no exclusions, no alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_breaches_batch_action_createApi privacy data breaches batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true and idempotentHint=false, so the description need not repeat the safety profile — but it also adds nothing about what the batch operation actually mutates, what permissions are needed, or whether re-running is safe. For a write endpoint reachable over an open world, the description carries no additional 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, and it is front-loaded. The problem is under-specification rather than verbosity, so it scores as minimal-viable structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with no output schema, the description should explain the batch payload/action semantics and expected result. It explains neither, and the empty parameter schema leaves the agent with no way to know how to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema accepts no parameters at all (empty object, additionalProperties=false) while the description claims the tool acts on multiple objects. With nothing in the description explaining how objects or the action are identified, the statement implies inputs that the schema forbids, which is more confusing than the 0-param baseline of 4 would assume.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Perform a batch action on multiple objects" is a generic restatement of the name's batch_action_create segment; it never names the resource (privacy data breaches), never says what actions are available (delete, update, etc.), and is indistinguishable from the ~100 other *_batch_action_create siblings. An agent can only learn the target from the tool name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the sibling ciso_assistant_api_privacy_data_breaches_update, _destroy, or _partial_update tools, nor on prerequisites such as selecting objects before batching. The single sentence offers no context an agent could act on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_breaches_breach_type_retrieveApi privacy data breaches breach type retrieveCRead-onlyIdempotent
API endpoint that allows data breaches to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond them and in fact asserts the endpoint allows records to be "edited", which sits uneasily with a read-only annotation. No mention of what is returned (a set of breach type choices) or any auth/scope requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, but it is boilerplate rather than front-loaded information: the most useful fact (that it returns the enumerable breach types) never appears.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description carries the full burden of explaining the return payload, and it fails to say that this is a lookup of breach-type choices. An agent has no basis to prefer it over the generic data-breach retrieve sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the schema is trivially complete. Baseline 4 applies, with the caveat that no filter or pagination options exist to explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title in generic form ("API endpoint that allows data breaches to be viewed or edited") and never identifies the actual resource: breach types. It conflates this lookup endpoint with the main privacy_data_breaches CRUD siblings and gives an agent no way to tell them apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of alternatives such as ciso_assistant_api_privacy_data_breaches_retrieve or the risk_level/status enumeration endpoints. The only implied usage (view data breaches) actually points at the wrong tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_breaches_cascade_info_retrieveApi privacy data breaches cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 known. The description adds only 'Cascade preview:' and does not explain what is being previewed, what the response represents, or whether the preview has any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, which would normally help conciseness, but here the brevity comes from missing content rather than efficient communication. It is an incomplete fragment, not a front-loaded summary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only retrieve endpoint with a required identifier and no output schema, the description should explain what a cascade preview returns and how it relates to the data breach resource. None of that is present, leaving the tool effectively undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool requires one parameter, id, with 0% schema description coverage, and the description does not mention it. An agent gets no explanation of what the id identifies or what kind of identifier is expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the fragment 'Cascade preview:' and never states what resource is being previewed or what 'cascade info' contains. It gestures at the operation but does not give an agent enough to distinguish it from the many sibling cascade_info_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when to prefer it over the plain retrieve or list siblings, or what prerequisites are required. The description gives no usage context at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_breaches_createApi privacy data breaches createD
API endpoint that allows data breaches to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is not read-only and is non-idempotent. The description does not disclose create semantics, required permissions, side effects, or what the body should contain, and its 'viewed or edited' phrasing is misleading for a create endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is only one sentence, but conciseness is undermined by under-specification and a misleading action verb. The sentence does not front-load the actual create behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create endpoint with no output schema, minimal annotations, and an undocumented body parameter, the description is far too thin. It leaves an agent without the information needed to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one optional 'body' parameter with 0% description coverage and an unconstrained object shape. The description says nothing about what body fields are expected or how to structure a data breach creation request.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (data breaches) but describes the endpoint as allowing breaches to be 'viewed or edited,' which does not match a create operation. It gives no specific create verb and would confuse this tool with retrieve, list, or update siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this create endpoint versus the many sibling privacy data breach tools. Worse, the 'viewed or edited' phrasing points toward read or update operations, not creation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_breaches_destroyApi privacy data breaches destroyDDestructiveIdempotent
API endpoint that allows data breaches to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description presents the endpoint as a view/edit API while annotations declare destructiveHint=true and readOnlyHint=false; nothing warns that the resource is permanently removed, whether deletion cascades, or that it is unrecoverable. The generic DRF boilerplate actively works against the annotation rather than supplementing it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so nothing is padded, but the sentence is framework boilerplate that conveys almost no useful information for this operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, irreversible operation with no output schema and one undocumented parameter, the description should state the confirmation/irreversibility semantics. Instead it leaves the agent without any operational context beyond the annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, and the description says nothing about it. It is inferable that id is the breach identifier, but the definition adds no meaning beyond the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence identifies the resource (data breaches) but states the operation as 'viewed or edited', which misdescribes a destroy endpoint. Nothing in the text signals deletion, so the name's 'destroy' suffix carries the only real signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the sibling update/partial_update/retrieve tools, and no prerequisites. An agent has to infer from the tool name that this removes a record.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_breaches_listApi privacy data breaches listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| incident | No | ||
| ordering | No | ||
| max_pages | No | ||
| risk_level | No | ||
| authorities | No | ||
| breach_type | No | ||
| affected_processings | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered elsewhere. The description adds nothing about behavior a caller needs, such as whether results are paginated, whether filters combine with AND/OR, or what 'optimized data' actually changes; the serializer-context remark is internal and unactionable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not bloated, but its content is developer-facing noise rather than front-loaded caller-relevant information. Brevity here reflects under-specification, not economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 14-parameter, zero-required list endpoint with no output schema and 0% parameter documentation requires far more description than this. Nothing tells the agent how filtering, ordering, or pagination behave, nor what shape the returned collection takes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 14 parameters (id, name, folder, status, incident, risk_level, breach_type, affected_processings, ordering, limit, offset, search, max_pages, authorities), and the description explains none of them. Critical ambiguities — e.g. whether id/name/folder accept a single value or a list, what ordering syntax is expected, and whether max_pages triggers server-side pagination — are left entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text 'Override the list method to inject optimized data into the serializer context' is an internal implementation note, not a statement of what the tool does for a caller. It never states the resource (privacy data breaches) or that it returns a filtered collection, so the agent must infer purpose entirely from the tool name. It is closer to tautology/boilerplate than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many siblings that also read breach data (ciso_assistant_api_privacy_data_breaches_object_retrieve, _retrieve, _cascade_info_retrieve). No mention of when-not-to-use, prerequisites, or pagination strategy despite a limit/offset/max_pages schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_breaches_object_retrieveApi privacy data breaches object retrieveDRead-onlyIdempotent
API endpoint that allows data breaches to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows records to be 'edited', which directly contradicts the readOnlyHint=true and destructiveHint=false annotations and duplicates the role of the _update/_partial_update siblings. It adds no context about authentication, response shape, or what is returned for a given id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no bloat, but the content is boilerplate rather than front-loaded signal. Nothing about the sentence could not be inferred from the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameter documentation, the description is the only place return contents and identifier semantics could be explained, and it says nothing. For a one-parameter read endpoint this is still a significant gap given the crowded namespace of near-identical privacy data-breach tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required 'id' parameter is documented nowhere; the description does not say that it is the breach identifier nor what form it takes. The only saving grace is that a lone path id is largely self-evident from the '_object_retrieve' suffix.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The generic Django-REST-Framework boilerplate 'allows data breaches to be viewed or edited' names the resource but hedges between read and write, and does not distinguish this object-level retrieve from the sibling ciso_assistant_api_privacy_data_breaches_retrieve or from the _update/_partial_update variants. An agent cannot infer that this is a single-record fetch keyed by id from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the _list, _retrieve, or _update siblings, and no mention of the required id or that this is a read-by-identifier operation. The agent is left to infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_breaches_partial_updateApi privacy data breaches partial updateD
API endpoint that allows data breaches to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that — no note on merge semantics (partial vs full replace), which fields are editable, permissions, or validation behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short, front-loaded sentence with no padding, so it satisfies the size test. The problem is that its brevity comes from being generic rather than from being dense with useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint whose entire payload is an opaque object, with no output schema, no annotation-level detail on effects, and zero schema documentation, needs the description to explain what a valid body looks like. It explains none of this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters. The description says nothing about 'id' (the required identifier of the breach to patch) and nothing about 'body', which is an untyped free-form object with no documented keys — the single most important unknown for calling this tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a resource (data breaches) but the action collapses into generic boilerplate ('viewed or edited') that would be identical for the _list, _retrieve, _update and _partial_update siblings. It doesn't identify this as a partial PATCH-style edit, and 'viewed' is actively misleading for a write tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this instead of ciso_assistant_api_privacy_data_breaches_update (full update), _create, or _retrieve. With several near-identical CRUD siblings, the absence of any routing guidance leaves the agent guessing 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.
ciso_assistant_api_privacy_data_breaches_retrieveApi privacy data breaches retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered structurally. The description's one real contribution is disclosing that 'unauthorized related fields' are masked — meaningful for a privacy/GDPR record where the agent should expect redacted or absent fields. It does not say which fields, or what happens when the id is missing or unauthorized.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler — appropriate in size for a trivial get-by-id tool. It is under-specified rather than verbose, but nothing in it is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter lookup with annotations covering safety and no output schema, the description still omits the resource being fetched, what the id identifies, and how failures (not found vs unauthorized) surface. The masking note is the only substantive content, leaving the agent under-informed about what a successful call actually returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, 'id', and schema description coverage is 0%, so the schema carries no meaning beyond the name and type. The description never mentions the parameter, leaving the agent to guess that it is the breach identifier rather than, say, a processing or entity id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Return a single object,' which restates the 'retrieve' verb from the name without naming the resource (a privacy data breach) or distinguishing it from the many sibling readers such as ciso_assistant_api_privacy_data_breaches_object_retrieve, _list, or _cascade_info_retrieve. An agent must infer the subject from the tool name rather than the prose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Return a single object' implies a fetch-one-by-id operation, but there is no statement of when to use this versus the object_retrieve, list, or cascade_info variants, and no prerequisite or error-condition guidance. The agent gets only the weakest implicit usage cue.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_breaches_risk_level_retrieveApi privacy data breaches risk level retrieveCRead-onlyIdempotent
API endpoint that allows data breaches to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows data breaches to be 'viewed or edited', while annotations declare readOnlyHint=true and destructiveHint=false. Saying it edits directly contradicts the read-only annotation, and nothing about the actual behavior (returning allowed risk-level values) is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded sentence with no padding, but its brevity comes from generic template text rather than from tight expression of useful content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must explain that this returns the set of selectable risk levels for a data breach. Instead it leaves the return value completely unspecified and mischaracterizes the operation as editable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty, so there is nothing for the description to clarify. Baseline for 0 params applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the resource (data breaches) but says nothing about the 'risk level' facet that distinguishes this tool from siblings like ciso_assistant_api_privacy_data_breaches_breach_type_retrieve, _status_retrieve, _list, and _retrieve. It is essentially boilerplate applied to every endpoint in the family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus the sibling *_retrieve, *_list, *_breach_type_retrieve or *_status_retrieve endpoints. An agent has no way to know this returns an enumeration of risk-level choices rather than a breach record.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_breaches_status_retrieveApi privacy data breaches status retrieveCRead-onlyIdempotent
API endpoint that allows data breaches to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly says data breaches can be 'edited,' while the annotations declare readOnlyHint=true and destructiveHint=false. This directly contradicts the annotation and gives an agent the wrong behavioral expectation for a read-only status endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, so it is technically concise, but the sentence conveys the wrong operation and lacks front-loaded, useful information about status retrieval. Brevity does not earn much credit when the content is misleading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter endpoint there is no output schema, so the description should at least clarify that this returns status choices/values for data breaches. Instead it describes viewing or editing breaches, leaving the actual return purpose and distinction from sibling tools unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and an empty properties object, so there are no parameter semantics for the description to clarify. The baseline for a zero-parameter tool is 4, and no additional param guidance is needed here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says data breaches can be 'viewed or edited,' but the tool name and sibling set indicate this is a status-retrieval endpoint, likely returning available status options for data breaches. It identifies the resource but misstates the operation, and it does not distinguish this endpoint from privacy_data_breaches_retrieve, _list, or _object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling endpoints such as privacy_data_breaches_retrieve, privacy_data_breaches_list, or privacy_data_breaches_object_retrieve. The description provides no context, prerequisites, or exclusions to help an agent choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_breaches_updateApi privacy data breaches updateCIdempotent
API endpoint that allows data breaches to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered elsewhere. The description adds nothing beyond that — it doesn't say it is a full update vs. a patch, what fields it overwrites, or whether omitted fields are cleared or reset.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so size is not the problem, but the phrase 'viewed or edited' is actively confusing rather than load-bearing. The statement is front-loaded but under-specified for its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutating endpoint with an opaque free-form body, no output schema, and a required id — the description should at minimum explain that it replaces an existing breach record and what the body represents. Instead it only restates the endpoint name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are two parameters: `id` (required, plain string) and `body` (untyped arbitrary object defaulting to null). The description says nothing about either, leaving the agent with no idea what the body should contain for a data-breach record.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (data breaches) but describes the operation as 'viewed or edited', which conflates reading with writing and does not distinguish this update endpoint from siblings like ciso_assistant_api_privacy_data_breaches_retrieve, _partial_update, and _update. The verb is ambiguous rather than specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this instead of _partial_update, _update, _retrieve, or _create. The agent gets no conditions, prerequisites, or exclusions to choose between the many near-identical data-breach endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_contractors_batch_action_createApi privacy data contractors batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, idempotentHint=false, destructiveHint=false, so the description is not required to repeat the safety profile. But it adds nothing beyond them: no mention of which actions are supported, whether they are reversible, that a payload is required, or that this is a write operation against contractor records.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, but its brevity comes from under-specification rather than economy. There is no structure, front-loading, or actionable detail to speak of.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a mutation tool with no output schema, no documented parameters, and annotations that only give hints, the description should carry the burden of explaining the batch payload and scope. It does none of that, leaving the agent unable to call it correctly from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero declared parameters, which normally sets a baseline of 4, but the empty schema with additionalProperties=false is almost certainly a schema gap for a batch endpoint that needs an action/ids body. The description does nothing to compensate or explain the expected payload, so 3 rather than 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates 'batch action' and 'multiple objects' without naming the resource (privacy data contractors) or what kind of batch action is performed. It reads as a generic tautology of the name suffix and gives an agent nothing to distinguish it from the dozens of sibling *_batch_action_create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this instead of the singular create/update/destroy endpoints, and no mention of what a 'batch action' entails (e.g. selecting objects by id and applying an action). The agent must infer the entire invocation pattern.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_contractors_cascade_info_retrieveApi privacy data contractors cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered without the description. The description adds nothing beyond that — no mention of what the preview returns, what cascade scope is computed, or whether it is side-effect free on related objects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words plus a colon is short but not concise in the useful sense — it is under-specified rather than efficient. Nothing is front-loaded because there is essentially no content, and the trailing colon suggests truncated text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, one undocumented parameter, and a description that is a single fragment, an agent has no information about what the endpoint returns or how to interpret the id. For a cascade-impact preview in a privacy module, this is inadequate on every axis.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter `id` is a bare string with no explanation anywhere. The description fails to say whether `id` is the contractor record whose downstream cascade is previewed or the parent object of the cascade, which is exactly the ambiguity an agent needs resolved.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment "Cascade preview:", which only restates a piece of the tool name. It does not state a verb+resource, does not say what is being previewed (contractor records? deletion cascade?), and gives an agent no way to distinguish it from the many sibling *_cascade_info_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Cascade preview" implies a read-only pre-check before a destructive cascade, but no explicit when-to-use, when-not-to-use, or alternative is named. The surrounding siblings (destroy, batch_action_create, list, retrieve) are never referenced, so an agent must guess whether this previews deletion impact or something else.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_contractors_country_retrieveApi privacy data contractors country retrieveCRead-onlyIdempotent
API endpoint that allows data contractors to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows data contractors to be "viewed or edited," while annotations declare readOnlyHint=true and destructiveHint=false. This states write capability the tool does not have, and it adds nothing about the actual behavioural profile (no auth notes, no indication that this is a fixed choice/enumeration lookup with openWorldHint=true).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no padding, so structurally it is fine. But the sentence is unedited boilerplate that carries no tool-specific information, so brevity comes from being generic rather than from being economical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters, no output schema, and annotations already covering safety, the description needed to say what the endpoint actually returns (country choices for contractor records) and when to call it. Instead it misidentifies the resource and the allowed operation, leaving the agent less informed than the tool name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema cannot be enriched and the baseline of 4 applies. Note, however, that the absence of any path/query parameter is itself a hint that this is a value-lookup endpoint, which the description fails to convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence is a generic DRF template that restates the tool name ("data contractors ... viewed or edited") and drops the distinguishing token "country". An agent cannot tell from this whether the tool returns contractor records, a country value, or a list of country choices, nor how it differs from privacy_data_contractors_retrieve or the other *_country_retrieve siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives despite many near-identical siblings (privacy_data_contractors_retrieve, privacy_data_contractors_list, entities_country_retrieve, privacy_data_transfers_country_retrieve). The agent must infer everything from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_contractors_createApi privacy data contractors createD
API endpoint that allows data contractors to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false, so the safety profile is present. The description adds essentially nothing beyond the generic 'viewed or edited' phrasing; it does not describe what creation requires, what payload is needed, or what side effects occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no wasted words and is front-loaded. However, its content is generic and does not convey the operation implied by the tool name, so it is concise but not usefully specific.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no output schema, an undocumented body parameter, and annotations that only establish general safety hints. The description does not state that it creates a record, what the body should contain, or what the operation returns, leaving an agent without enough context to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, 'body', with 0% schema description coverage and an unconstrained object type. The description does not mention the body parameter or what fields belong in it, so it provides no semantic guidance for the only input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name indicates a create endpoint for privacy data contractors, but the description says it allows data contractors to be 'viewed or edited.' That is generic DRF boilerplate and does not clearly state that this tool creates a new contractor record; it is closer to tautology and partially misleading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus siblings such as the list, retrieve, update, or partial_update contractor endpoints. There is no mention of prerequisites, required permissions, or the fact that this is the creation operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_contractors_destroyApi privacy data contractors destroyDDestructiveIdempotent
API endpoint that allows data contractors to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, idempotentHint=true and openWorldHint=true, yet the description describes the operation as 'viewed or edited', omitting that it permanently deletes a record and whether the deletion cascades to related processing activities. This contradicts the destructive annotation rather than supplementing it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no waste, but it is AutoSchema boilerplate that conveys no usable information for a destructive endpoint. Being short is not the same as being well-structured when the one sentence is wrong.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world, idempotent delete with no output schema, the description should explain what is removed, irreversibility, and any linked-object implications. None of that is present, so an agent has no basis to act safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, and the description provides no clarification about what identifier is expected (UUID vs numeric string) or where to obtain it. At minimum it should state that the ID of the contractor record to delete is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint 'allows data contractors to be viewed or edited', which restates a generic viewset label and never states that this tool deletes a data contractor. The name/title says 'destroy', but the prose describes read/update behavior, so an agent cannot confirm the actual purpose from the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool, no prerequisites (e.g., required delete permission), and no mention of the sibling endpoints that should be used for viewing or editing instead. The 'viewed or edited' phrasing actively misdirects an agent toward non-destructive siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_contractors_listApi privacy data contractors listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| processing | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing usable about behavior — 'optimized data in the serializer context' is server-side noise rather than a statement about what the caller receives, whether results are paginated, or what 'optimized' means for the payload.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but the sentence does not earn its place: it communicates an internal override rather than front-loading the resource being listed or the shape of the response.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A seven-parameter list endpoint with no annotations-level gaps filled, no output schema, and a description that explains none of the filters or the returned collection. An agent cannot confidently construct a call from this definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Seven parameters with 0% schema description coverage and mostly untyped anyOf-{} definitions (id, limit, offset, search, ordering, processing), so the schema explains nothing. The description does not mention a single parameter, leaving search syntax, ordering vocabulary, and pagination semantics entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never says what the tool returns or that it lists privacy data contractors; it only says it 'overrides the list method' to 'inject optimized data into the serializer context', which is Django implementation detail. The verb 'list' and the resource name appear only in the tool name/title, so the description is effectively a tautology plus leakage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this versus the sibling retrieve/object_retrieve or country/relationship_type lookups, nor any note about pagination or filtering expectations. The sentence describes internals, not usage, so the agent gets zero routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_contractors_object_retrieveApi privacy data contractors object retrieveDRead-onlyIdempotent
API endpoint that allows data contractors to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says data contractors can be 'viewed or edited' while annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false for a picker-style object retrieve. That is a direct contradiction of the safety profile, and it says nothing about lookup-miss behavior 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is concise, but the terseness comes at the cost of substance rather than from efficient information density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameter documentation, the description has to carry the whole burden for a retrieve-by-id operation, and it delivers only a boilerplate viewset sentence. An agent cannot tell what it returns or how the object is selected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the sole parameter (id, required) is never mentioned in the description. The agent learns nothing about whether this id is a UUID, integer-like string, or object hash, nor what happens on a miss.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name in generic terms: 'allows data contractors to be viewed or edited.' It never says this is a single-object retrieve by identifier, and 'viewed or edited' blurs together what siblings like _list, _retrieve, _update, and _object_retrieve separately do.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no indication of when to pick this object-retrieve over the list endpoint, the plain _retrieve endpoint, or the update endpoint, and no prerequisites or conditions given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_contractors_partial_updateApi privacy data contractors partial updateD
API endpoint that allows data contractors to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, so the safety profile is covered there. The description adds nothing operational: it never says this is a PATCH that merges only supplied fields, what happens to omitted fields, or that the record must be addressed by id. Its 'viewed' wording also implies a read capability this endpoint does not have.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, front-loaded, with no padding – structurally fine. But its brevity comes from being generic boilerplate rather than from packing in useful signal, so it earns little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with no output schema, 0% param documentation, and a required id plus free-form body object needs the description to carry the burden of PATCH semantics and payload expectations. It supplies none of that, so an agent cannot invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description gives no parameter information whatsoever. The 'id' parameter and the opaque 'body' object (anyOf arbitrary JSON, additionalProperties true) are completely unexplained, leaving the agent to guess what payload shape the partial update accepts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is DRF boilerplate: 'API endpoint that allows data contractors to be viewed or edited.' It names the resource but never states the actual operation (partial update of one data contractor by id), and it cannot be distinguished from the ~9 sibling contractor tools (list, retrieve, create, update, destroy, object_retrieve, partial_update).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives. Worse, 'viewed or edited' actively points the agent toward reading, which is the job of ciso_assistant_api_privacy_data_contractors_retrieve, not this PATCH-style tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_contractors_relationship_type_retrieveApi privacy data contractors relationship type retrieveCRead-onlyIdempotent
API endpoint that allows data contractors to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The phrase 'viewed or edited' implies a write capability, while the annotations declare readOnlyHint=true, destructiveHint=false and idempotentHint=true; that is a direct conflict for a retrieve endpoint. Beyond the contradiction, the description adds nothing about auth, scoping, or what the endpoint actually returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is concise in the literal sense. However, that brevity comes from under-specification rather than from efficient information density, leaving the core question (what is returned) unanswered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description is the only place an agent could learn that this returns the set of allowed relationship-type values for data contractors. Instead it describes a view/edit endpoint, so an agent must guess both the payload shape and its purpose before calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. The schema already closes the object with additionalProperties=false.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates generic DRF boilerplate ('allows data contractors to be viewed or edited') and never mentions the actual resource, the relationship-type enumeration for data contractors, that the tool name advertises. It does not distinguish this from the many sibling contractor endpoints such as ciso_assistant_api_privacy_data_contractors_retrieve or _list, so an agent cannot tell what this one uniquely returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no stated prerequisites, and no mention of the obvious alternatives (the contractor list/object/retrieve siblings) or when this choice-value endpoint is the right pick. The only implicit signal is the 'retrieve' suffix in the name, which the description does not reinforce.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_contractors_retrieveApi privacy data contractors retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered. The description adds genuinely useful context beyond them: related fields the caller is not authorized to see are masked in the result, meaning the payload may be incomplete by design. It does not say what triggers masking or which fields, but it is a real behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, and the most surprising fact (masked fields) is not buried. It is efficient, though it is short partly because it omits necessary content rather than because it is dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool with no output schema and an undocumented id parameter, the description omits what entity is being returned and what fields it contains. The masking note is helpful but leaves the caller unable to predict the response shape or confirm it is reading a data contractor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is exactly one required parameter (`id`) at 0% schema description coverage, and the description never mentions it or its expected format. Unlike the high-coverage baseline case, the description must compensate here and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns "a single object" but never names the resource; the fact that this retrieves a data contractor is only inferable from the tool name. With siblings like privacy_data_contractors_object_retrieve and _list present, the description does nothing to distinguish this tool from near-identical neighbors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of how this differs from privacy_data_contractors_object_retrieve or the list endpoint. An agent must guess that it fetches one contractor by id, and cannot tell why two retrieve variants exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_contractors_updateApi privacy data contractors updateDIdempotent
API endpoint that allows data contractors to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing on top – it doesn't say whether the body is a full replacement (PUT semantics), whether partial bodies are accepted, or what permissions are required, which is exactly the gap annotations leave open.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence is appropriately sized, but the words chosen carry almost no information beyond the tool name. Being brief is not a virtue when the content is this thin.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write endpoint whose body payload is completely opaque and which has no output schema, the description should explain the expected payload semantics and update behavior. It leaves an agent unable to construct a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description provides no parameter guidance at all. The 'id' path parameter is self-evident, but 'body' is a free-form object with additionalProperties=true and no documented shape – the agent has no idea what fields to send or whether omission means deletion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the name as 'API endpoint that allows data contractors to be viewed or edited' – it names the resource but in tautological, generic terms. It doesn't distinguish this update from its near-identical siblings (privacy_data_contractors_partial_update, _retrieve, _list, _create), which an agent must choose between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus partial_update, retrieve, or list. Worse, 'viewed or edited' actively muddies the picture for an endpoint whose name and annotations say 'update', giving the agent no basis for selecting it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_recipients_batch_action_createApi privacy data recipients batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so safety framing is partly covered. The description adds nothing beyond that: it does not say what the action does to the objects, whether it is reversible, or what a partial failure looks like — a notable gap for a non-idempotent write.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding and the operation front-loaded, so it is not bloated. However, brevity here is under-specification rather than efficiency; the sentence carries almost no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent batch write with no documented parameters, no output schema and a very large sibling set, the description should at minimum name the resource and describe the action/payload. It leaves both completely undetermined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, which normally earns the baseline 4, but the empty schema with additionalProperties=false means the agent has no structured way to specify targets or the action payload. The description does nothing to resolve that ambiguity, so it does not earn the full baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Perform a batch action on multiple objects' restates the title/name rather than explaining anything specific. It never mentions data recipients or what a 'batch action' actually is, so an agent cannot distinguish it from the hundreds of sibling *_batch_action_create tools listing only the resource path in the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this batch endpoint over the single-object create/update/partial_update siblings in ciso_assistant_api_privacy_data_recipients_*. At best 'on multiple objects' weakly implies bulk usage, but with no size limits, prerequisites, or exclusions it is essentially no guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_recipients_cascade_info_retrieveApi privacy data recipients cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered. The single word "preview" faintly reinforces that nothing is mutated, but there is no disclosure of what the response contains or how expensive the cascade computation is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification, not conciseness: a two-word fragment ending in a colon reads like a truncated heading rather than a front-loaded summary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a cascade-impact preview with an entirely undocumented parameter and no output schema, the description supplies nothing an agent needs to invoke it correctly or interpret the result. Only the annotations carry any information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the only parameter, "id" (required, string), is unexplained in both schema and description. The description does not say whether id identifies the recipient, a processing, or another parent object — a critical ambiguity for a cascade lookup.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" only echoes a fragment of the tool name and never states the verb+resource, e.g. that it returns the objects affected by deleting/modifying a privacy data recipient. Without reading the name's path segments the phrase alone conveys almost nothing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this instead of ciso_assistant_api_privacy_data_recipients_retrieve, _object_retrieve, or _destroy, nor what a preview is used for. The agent must guess entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_recipients_category_retrieveApi privacy data recipients category retrieveCRead-onlyIdempotent
API endpoint that allows data recipients to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows data recipients to be "viewed or edited", implying a write capability, while the annotations declare readOnlyHint=true and destructiveHint=false for a `..._retrieve` route. That is a direct conflict, and the description adds no genuine behavioral context (no mention that it returns a fixed choice list, no auth or scope notes).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is not verbose, but its brevity comes from being content-free boilerplate rather than from being tightly scoped. The key fact (returning category choices) would cost only a few words and is absent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, no-output-schema endpoint, the description is the only source of information about the return value, and it says nothing about the choice list being returned. It also misdirects toward editing, so an agent has no reliable picture of what this call yields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. No parameter-level meaning is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence "API endpoint that allows data recipients to be viewed or edited" merely restates the resource name in generic boilerplate and never mentions the defining element: this endpoint returns the *category* choices for data recipients. An agent cannot tell it apart from the sibling `ciso_assistant_api_privacy_data_recipients_retrieve` or `_list`, nor from the analogous `_category_retrieve` endpoints for data subjects or personal data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this instead of `privacy_data_recipients_retrieve`, `_list`, or `_object_retrieve`, and no indication that it is the endpoint for enumerating valid category values before creating or updating a recipient. The agent must infer the whole use case from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_recipients_createApi privacy data recipients createD
API endpoint that allows data recipients to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, destructiveHint=false, openWorldHint=true and idempotentHint=false, so the safety profile is largely covered by structured fields. The description adds nothing about what creation does, required auth, or side effects, and its 'viewed or edited' phrasing is misleading for a create operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence, so it is not bloated, but the brevity is under-specification rather than efficiency: the single sentence is generic boilerplate that does not front-load any actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create/mutation endpoint with an opaque free-form body, no output schema, and no annotation explanation of effects, the description is far too thin. An agent would have to guess both the payload contract and how this differs from the sibling create/list/update endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single `body` parameter has 0% schema description coverage and is typed only as an open anyOf object, so the description carries the full burden of explaining the payload shape. It supplies nothing, leaving the agent unable to know what fields a data recipient requires.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'API endpoint that allows data recipients to be viewed or edited' largely restates the title and actually names read/edit rather than create, which is the operation the tool name and POST-style annotations imply. An agent learns only that this touches 'data recipients', with no statement of what creating one means.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no pointer to the numerous siblings (list, retrieve, partial_update, update, destroy) that an agent must choose between. Nothing distinguishes this create call from any other endpoint on the same resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_recipients_destroyApi privacy data recipients destroyDDestructiveIdempotent
API endpoint that allows data recipients to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, but the description says the endpoint lets records be "viewed or edited" and never mentions permanent deletion, cascading effects, or permission requirements. For a destructive tool, the description actively undercuts the safety signal carried by 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is concise, but the content is generic boilerplate that does not front-load the one fact that matters: that this call deletes a record.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, single-parameter tool with no output schema and no annotation-adjacent detail in the description. Nothing tells an agent what is destroyed, whether the deletion is reversible, or what a successful response looks like — the definition is inadequate for the risk profile of this operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter `id` has 0% schema description coverage, and the description does not state what the identifier refers to (data recipient UUID vs. slug) or what happens if it is unknown. With low schema coverage the description needed to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (data recipients) but describes the action as "viewed or edited," while the tool's actual function per its name is deletion. This is a generic DRF viewset docstring that fails to state the specific operation and would mislead an agent about what the call does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool, no warning that it permanently removes a data recipient record, and no reference to the sibling create/update/retrieve/partial_update endpoints on the same resource that an agent should prefer for non-destructive operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_recipients_listApi privacy data recipients listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| processing | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true, so safety is covered. The description adds nothing behavioral — 'inject optimized data into the serializer context' is an implementation detail with no observable consequence for the caller, and it does not mention pagination or result shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but it is front-loaded with an internal implementation claim rather than actionable information. Brevity here reflects under-specification, not economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 7-parameter list endpoint with no output schema, no annotation-independent behavior detail, and no parameter docs. An agent cannot call this correctly: it does not know what the filters do, what pagination looks like, or what 'processing' accepts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 7 parameters with 0% schema description coverage, so the description carries the full burden — and it explains none of them. limit, offset, search, ordering, max_pages, processing, and id are all left completely undefined in both schema and prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a developer note about an overridden Django view method, not a statement of what the endpoint does. It never says this lists privacy data recipients, so an agent must infer purpose entirely from the tool name. Nothing distinguishes it from siblings like privacy_data_recipients_retrieve or _object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternatives named, no prerequisites. The closest relevant siblings (object_retrieve, cascade_info_retrieve, batch_action_create) are never referenced, so an agent has no basis for choosing this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_recipients_object_retrieveApi privacy data recipients object retrieveDRead-onlyIdempotent
API endpoint that allows data recipients to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows data recipients to be 'viewed or edited', while annotations declare readOnlyHint=true and destructiveHint=false. This directly contradicts the read-only nature of the tool, so the description misleads an agent about mutation capability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no padding, which is structurally fine. However, the boilerplate wording includes misleading content ('edited') rather than useful scoping information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve-by-id endpoint with no output schema and no documented id semantics, the description should explain what is returned and how the id is interpreted. Instead it provides only generic DRF boilerplate and contradicts the read-only annotation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required 'id' parameter at 0% description coverage. The description adds no meaning about what the id identifies (e.g., a data recipient ID) or how it is used, so it fails to compensate for the undocumented parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names the resource ('data recipients') but the verb is ambiguous ('viewed or edited'), and since this is a retrieve endpoint the 'edited' part misstates the operation. It also fails to distinguish itself from sibling recipient endpoints such as privacy_data_recipients_retrieve, _list, and _object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus the many sibling recipient endpoints. An agent gets no help choosing between object_retrieve, retrieve, or list, and no prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_recipients_partial_updateApi privacy data recipients partial updateD
API endpoint that allows data recipients to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the description's only job is to add semantics — and it adds none. It does not state that only supplied fields are modified (the defining trait of a partial update), what happens to omitted fields, permission requirements, or whether a response body is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not bloated, but length is achieved by saying nothing — boilerplate that would be identical for hundreds of sibling endpoints. No front-loaded statement of operation or scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque free-form payload, no output schema, and no parameter documentation, the description omits everything an agent needs to call it safely. It does not even convey which object type or fields are being updated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the two parameters are opaque: 'id' is an unconstrained string and 'body' is an untyped free-form object or null defaulting to null, with no hint about which recipient fields it accepts. The description compensates for none of this, so an agent has no basis for constructing a valid 'body' payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the generic Django-REST boilerplate 'API endpoint that allows data recipients to be viewed or edited,' which restates the title and resource rather than stating the operation. It never says this is a PATCH-style partial update, so an agent cannot distinguish it from the sibling *_retrieve, *_update, *_list, or *_create endpoints on the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: nothing says to prefer *_partial_update over *_update (full replace), or how it relates to *_retrieve/*_list for reads. The word 'viewed' even suggests read usage that this endpoint does not serve, leaving the agent to infer intent from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_recipients_retrieveApi privacy data recipients retrieveBRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only/idempotent/non-destructive profile, so the bar is lower, and the description adds a genuinely non-obvious trait: related fields are masked for unauthorized users. It does not say which fields get masked or what the caller needs to see them unmasked, but the permission-dependent output disclosure is real 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though its brevity comes partly from under-specification rather than from tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter retrieve with no output schema, the description covers the masking caveat but leaves the identifier format and the returned object's fields entirely undocumented. Adequate but with clear gaps an agent would hit on first call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter with 0% schema description coverage, so the schema gives no hint about what `id` refers to (UUID? numeric? ref_id?). The description mentions returning "a single object" but never explains the identifier, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says "Return a single object," which is a verb and a return shape but never names the resource; the resource (privacy data recipient) is only conveyed by the tool name and title. It is distinguishable from the list/create/destroy siblings only through the name, not the prose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus ciso_assistant_api_privacy_data_recipients_object_retrieve, _list, or _retrieve alternatives. The agent must infer that this is a by-id single fetch from the schema alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_recipients_updateApi privacy data recipients updateDIdempotent
API endpoint that allows data recipients to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, so the description adds nothing about the mutation itself. It does not say the body replaces the recipient record (full update vs patch), what permissions are required, or what happens to omitted fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded sentence with no filler, so it is concise. But its brevity comes from under-specification rather than efficiency, leaving no useful information for the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no output schema, 0% schema description coverage, and an untyped free-form body. The description should at minimum explain the full-update semantics and what belongs in body; it does none of that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and both parameters (id, body) are completely undocumented in the schema, so the description carries the full burden — yet it says nothing about the required id or the opaque free-form body object. No compensation for the coverage gap whatsoever.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint 'allows data recipients to be viewed or edited', a generic phrase that does not name the update action this tool performs (PUT-style full update) nor distinguish it from siblings like _partial_update, _retrieve, or _list. An agent cannot tell from the text whether this reads or writes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus _partial_update, _retrieve, or _create. The 'viewed or edited' phrasing actively muddies the choice between read and write siblings, and no prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_subjects_batch_action_createApi privacy data subjects batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true, and idempotentHint=false. The description adds no behavioral context beyond that: it does not say what actions are supported, what gets modified, whether permissions are required, or how open-world side effects manifest. No contradiction, but almost no added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no wasted clauses, so it is concise. However, it is under-specified rather than informative: the brevity comes at the cost of saying almost nothing useful about the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-read-only, open-world batch mutation with an empty parameter schema and no output schema, the description is completely inadequate. It does not identify the resource, the allowable action types, the required selection mechanism, or any side effects, leaving an agent unable to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema description coverage is 100%, so the baseline is 4. The description could explain the empty schema or expected batch payload shape, but parameter semantics are not its main failure here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Perform a batch action on multiple objects', which restates the batch-action part of the name without identifying the resource (privacy data subjects) or the action being performed. It gives an agent no way to distinguish this tool from the hundreds of other `*_batch_action_create` siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which alternative to choose. The phrase 'on multiple objects' implies batch usage, but nothing indicates what objects, what preconditions, or how it differs from single-object create/update tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_subjects_cascade_info_retrieveApi privacy data subjects cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered without the description. The word "preview" loosely confirms a non-mutating read, but nothing is said about what a cascade preview returns, how deep it goes, or what dependent objects it enumerates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words plus a colon is under-specification rather than conciseness; there is nothing to front-load because no information is present. The fragment does no harm but earns no credit.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A read-only openWorld cascade endpoint with an undocumented id and no output schema needs the description to explain what the preview yields; instead the agent is left with nothing. For this complexity level the definition is wholly inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description is expected to compensate, and it says nothing about the required `id`. The schema at least fixes it as a required string, making the single-parameter case partly self-evident for a REST retrieve, but the description adds zero meaning beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" only echoes the tool name's cascade_info_retrieve suffix and never states a verb-plus-resource object. An agent cannot tell what entity's cascade is being previewed, what the preview contains, or how this differs from the ~70 other cascade_info_retrieve siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as the plain retrieve/object_retrieve siblings. Even the weaker calibration case with a single substantive sentence earned a 2; this fragment offers less.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_subjects_category_retrieveApi privacy data subjects category retrieveCRead-onlyIdempotent
API endpoint that allows data subjects to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, but the description claims the endpoint 'allows data subjects to be viewed or edited' — advertising an edit capability the annotations deny. That mismatch is mitigated somewhat by the fact that the phrasing is generic DRF template text rather than a deliberate mutation claim, and no permissions, response shape, or scoping behavior is described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, but it is under-specified rather than concise — the one sentence is generic boilerplate that carries almost no information about the tool's actual behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A simple no-parameter read tool, but there is no output schema, so the description should say what comes back (presumably the enumerated category options for a data subject). It also does not clarify the 'category' semantics that distinguish it from the other privacy_data_subjects endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the empty schema (additionalProperties: false) is self-explanatory. Baseline for a 0-parameter tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the endpoint name in generic Django boilerplate ('allows data subjects to be viewed or edited') without saying what is actually retrieved — the name indicates a *category* lookup, yet the word 'category' never appears. It also fails to distinguish this from siblings such as privacy_data_subjects_retrieve, privacy_data_subjects_list, or privacy_data_recipients_category_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this versus the other data-subject endpoints, no mention that it returns the set of category choices, and no exclusions or prerequisites. The agent must infer usage purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_subjects_createApi privacy data subjects createD
API endpoint that allows data subjects to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the description only needed to add specifics. Instead it adds nothing about what gets created, required payload fields, permissions, or side effects, and its 'viewed or edited' framing mischaracterizes a write-only create operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not bloated, but every word is boilerplate that does not earn its place. The sentence is not front-loaded around the create action that the tool actually performs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with zero schema description coverage, no output schema, and only annotations for safety hints, the description supplies none of the missing information. An agent cannot determine what a valid request body looks like or what happens on success.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is exactly one parameter, 'body', a free-form object with 0% schema description coverage, and the description says nothing about its contents or required fields. With no schema documentation and no prose compensation, an agent has no way to know what to send.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate: 'allows data subjects to be viewed or edited' names the resource but describes viewing/editing rather than creation, contradicting the tool name's 'create' verb. It does not distinguish this endpoint from the many sibling data_subjects endpoints (list, retrieve, update, partial_update).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus the sibling list/retrieve/update/partial_update tools, and no prerequisites or preconditions are stated. Worse, the phrase 'viewed or edited' actively suggests read usage for what is a creation endpoint, which could route an agent to the wrong tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_subjects_destroyApi privacy data subjects destroyDDestructiveIdempotent
API endpoint that allows data subjects to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, but the description frames the endpoint as viewing/editing — the opposite safety profile. It also says nothing about what deletion removes, cascading effects, or irreversibility. This is a direct contradiction of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, so there is no bloat, but it is not front-loaded with anything useful — the only content it contains is inaccurate. Brevity here reflects under-specification rather than economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, single-parameter mutation with no output schema and no annotations-derived context in the text. The description should say what gets deleted and what happens to linked records; instead it describes a read/edit operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required `id` parameter, so the description must carry the burden, yet it never mentions the identifier or its format. The agent has to infer that `id` is the data subject's primary key.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint "allows data subjects to be viewed or edited," which misstates the resource operation entirely — the tool name and the `_destroy` suffix indicate deletion. The resource (data subjects) is identified, but the verb is wrong, so an agent cannot trust the stated purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool, when not to, or which sibling (e.g. ciso_assistant_api_privacy_data_subjects_update / _retrieve) is the right alternative. Given the dozens of sibling data-subject tools, the absence of routing guidance is a real cost.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_subjects_listApi privacy data subjects listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| processing | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description carries little burden; nevertheless it discloses nothing an agent needs — no result shape, pagination, or filtering behavior. 'Inject optimized data into the serializer context' is developer-facing and conveys no observable behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is a single jargon-heavy sentence that leads with an internal method-override note instead of the resource and operation. Brevity here reflects under-specification rather than economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 7-parameter list endpoint with no output schema, no parameter documentation, and no usage context. The description provides none of the information needed to invoke it correctly, let alone interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 7 parameters (id, limit, offset, search, ordering, max_pages, processing) have 0% schema description coverage, and the description mentions none of them. It fails to compensate at all for the schema gap, leaving an agent to guess pagination and search semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title in framework jargon ('override the list method', 'serializer context') rather than telling an agent that this retrieves a list of privacy data subjects. An agent can only infer 'list' from the tool name suffix, not 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus siblings such as ciso_assistant_api_privacy_data_subjects_retrieve or _object_retrieve, nor any prerequisites or exclusions. The sentence is about implementation internals, not usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_subjects_object_retrieveApi privacy data subjects object retrieveDRead-onlyIdempotent
API endpoint that allows data subjects to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, yet the description says the endpoint allows data subjects to be 'viewed or edited', implying a write capability this endpoint does not have. This directly contradicts the read-only annotation, and no other behavioral context (permissions, missing-id handling, response shape) is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, but its brevity reflects boilerplate rather than front-loaded precision; nothing informative leads the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve-by-id endpoint with no output schema and a 0%-documented parameter, the description should explain the identifier and the returned resource. It says nothing about either, and its 'edited' claim actively misleads about the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single required parameter 'id' is untyped in both schema and description. The description says nothing about what the id refers to (object UUID vs ref_id) or how to obtain it, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the name in generic DRF boilerplate ('API endpoint that allows data subjects to be viewed or edited') rather than stating that it retrieves a single data subject object by id. It does not distinguish this from siblings such as privacy_data_subjects_retrieve, privacy_data_subjects_list, or privacy_data_subjects_object_retrieve, and the phrase 'or edited' muddies whether this is a read operation at all.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus the many sibling data-subject endpoints (list, retrieve, cascade_info, category, batch_action). The implied usage is 'fetch a data subject', but nothing states prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_subjects_partial_updateApi privacy data subjects partial updateD
API endpoint that allows data subjects to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, so the agent knows it is a non-destructive write. However, the description adds no behavioral context about partial update semantics, what can be changed, whether a body is required, or what permissions are needed. Its phrasing 'viewed or edited' is especially unhelpful for a mutation endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is brief and front-loaded, but it is under-specified rather than genuinely concise. It provides almost no useful information for calling the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a partial update mutation with an opaque body parameter, no output schema, and no annotation-based detail about the mutation, the description is critically incomplete. An agent cannot determine what to send or what effect the call has.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage and contains an opaque 'body' object plus a required 'id'. The description does not mention either parameter or explain what fields belong in the body, leaving the agent without the information needed to invoke the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (data subjects) but the verb is vague and misleading: 'viewed or edited' does not clearly identify a partial update operation. It fails to distinguish this tool from the many sibling data subject tools such as retrieve, list, update, and destroy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this partial update versus alternatives like ciso_assistant_api_privacy_data_subjects_update, retrieve, or list. Neither prerequisites nor exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_subjects_retrieveApi privacy data subjects retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered structurally. The description does add one genuine behavioral fact not in the annotations — that unauthorized related fields are masked — but it does not say what triggers masking (roles/permissions), which fields are affected, or what the masked 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short front-loaded sentence with no wasted words, but the brevity comes from omission rather than precision. It is efficient yet underspecified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should carry weight on the return contract, and it gives only the masking caveat. Combined with an undocumented required parameter and ambiguous siblings, an agent still lacks enough to call this confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required `id` parameter has 0% schema description coverage, and the description never mentions it — no format, no source for the identifier, no behavior on not-found or unauthorized ids. With the schema doing none of the work, the description needed to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence restates the retrieve verb ("Return a single object") without ever naming the resource — data subject — leaving the resource identity to the tool name alone. It also fails to distinguish this endpoint from the sibling ciso_assistant_api_privacy_data_subjects_object_retrieve, which an agent cannot tell apart from this one based on the text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the list, object_retrieve, or cascade_info siblings, and no prerequisites or exclusions. The agent must infer usage entirely from the naming convention.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_subjects_updateApi privacy data subjects updateCIdempotent
API endpoint that allows data subjects to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered and the bar is lower. The description adds nothing beyond that: it does not say what gets overwritten (full replace vs. merge, which matters versus partial_update), what happens to omitted fields, or what authorization is required — and its "viewed or edited" phrasing blurs the read/write boundary the annotations define.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, front-loaded and free of padding, so there is nothing to trim. Its brevity is a byproduct of having almost no content rather than of disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a fully opaque request body, no output schema, and only hint-level annotations, the description should explain the payload shape and replacement semantics. It does not, leaving the agent unable to invoke the tool correctly even though it can roughly guess the target resource.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the only non-path parameter, body, is an unconstrained `anyOf: object | null` with no documented fields. The description compensates with zero information about what the payload should contain — an agent cannot construct a valid call from either the schema or the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the generic DRF boilerplate "allows data subjects to be viewed or edited" — it names a resource but pairs it with a vague, mixed verb that does not identify this as the update operation. With eight sibling data_subjects tools (retrieve, list, create, destroy, partial_update, update, object_retrieve, batch_action_create), it gives an agent no basis for choosing this one over partial_update or object_retrieve, and the "viewed" half is misleading for a write endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no distinction from partial_update (which is the natural ambiguity here), and no statement of prerequisites such as required permissions or the object having been retrieved first. The agent must infer everything from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_transfers_batch_action_createApi privacy data transfers batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true. The description adds nothing beyond that — no explanation of what a batch action mutates, whether it's reversible, how many objects can be processed, or what happens to related records. Given the significant side effects implied by a bulk write, this is a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no wasted words, but that brevity reflects under-specification rather than efficiency. Nothing is front-loaded because nothing is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent bulk-write tool with an empty input schema and no output schema, the description should explain the action semantics and expected payload. It provides none of this, leaving the agent unable to confidently invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero properties and additionalProperties=false, so technically there are no parameters to document. However, a batch action tool that takes no inputs is puzzling — the description does nothing to explain how target objects or the action are specified, which is exactly the information missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name generically: 'Perform a batch action on multiple objects' says nothing about the resource (privacy data transfers) or what actions are supported. Since there are dozens of near-identical '_batch_action_create' siblings, an agent cannot distinguish this tool from any of them using the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this instead of per-object update/destroy endpoints, what 'batch action' means here (delete, update, assign?), or any prerequisite. The agent must infer everything from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_transfers_cascade_info_retrieveApi privacy data transfers cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered externally. The description adds nothing beyond that: it does not explain what a "cascade preview" returns, what cascades are computed, or what the id refers to.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here is under-specification rather than conciseness: a two-word fragment with a trailing colon that conveys no actionable information and is not front-loaded with anything useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, one undocumented parameter, and annotations covering only the safety profile, the description must explain what the endpoint previews and what it returns. It does neither, leaving the agent unable to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, so the schema gives no semantics, and the description does not compensate by saying what object the id identifies or what form it takes. This is a total gap on the only parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment that restates the cascade_info part of the tool name without stating a verb or resource. An agent learns no more than it already could from the name ciso_assistant_api_privacy_data_transfers_cascade_info_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the many sibling tools (privacy_data_transfers_retrieve, _list, _object_retrieve, or the other *_cascade_info_retrieve tools). Nothing indicates prerequisites, intended use, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_transfers_country_retrieveApi privacy data transfers country retrieveCRead-onlyIdempotent
API endpoint that allows data transfers to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows data transfers to be 'viewed or edited,' while the annotations declare readOnlyHint=true and destructiveHint=false and the tool name is a retrieve operation. This is a direct contradiction: an agent may believe editing is possible through this endpoint when the structured metadata says it is read-only. Because the description contradicts annotations, the score is 1.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, so it is concise and front-loaded. However, its brevity comes at the cost of usefulness: it spends its only sentence on a generic and partly misleading statement rather than identifying the country-retrieval purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no input parameters and no output schema, so the description should explain what country-related data is returned and how the endpoint fits among the many privacy data-transfer siblings. Instead it gives only a generic 'viewed or edited' statement, leaving an agent unable to know what retrieval result to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. There is no parameter information for the description to add or omit, and the empty schema is consistent with the tool definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that this is an 'API endpoint that allows data transfers to be viewed or edited.' It does not identify the country-specific retrieval function, nor does it distinguish this tool from sibling data-transfer list/retrieve/update endpoints. The name says 'country_retrieve' but the description does not explain what country data is returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint, when not to use it, or which sibling tools to choose instead. The phrase 'viewed or edited' is especially unhelpful because the tool is a retrieve endpoint and provides no context for selecting it over list/retrieve alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_transfers_createApi privacy data transfers createC
API endpoint that allows data transfers to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false, so the safety profile is known. The description adds nothing beyond that and in fact conflicts in tone: "viewed" suggests a read while the tool is a non-idempotent write. Nothing is said about required permissions (privacy module access), validation errors, or what is created.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, so it is not bloated, but it is front-loaded with boilerplate ("API endpoint that allows...") rather than the actual action. Brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A non-idempotent create with an opaque untyped body, no output schema, and no annotations explaining write semantics — the description should carry the whole burden but provides nothing about the payload shape, side effects, or response. It is not sufficient for an agent to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter is an undocumented free-form "body" object at 0% schema description coverage, with additionalProperties true and no required fields. The description does not name a single field of a data transfer (e.g. recipient, country, transfer mechanism) to compensate, even though the sibling tools reveal such attributes exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name/endpoint ("privacy data transfers") plus a vague "viewed or edited" phrase. It never says the operation is a create that registers a new data transfer record, and it does not distinguish this from the many sibling endpoints like _list, _retrieve, _update, or _partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus ciso_assistant_api_privacy_data_transfers_update, _partial_update, _create alternatives, or _list. The only hint is the word "edited", which is misleading for a create endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_transfers_destroyApi privacy data transfers destroyDDestructiveIdempotent
API endpoint that allows data transfers to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, but the description says the endpoint allows transfers to be 'viewed or edited'. That directly contradicts the destructive annotation and hides the irreversible delete behavior the agent most needs to know.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, so it is not bloated, but it is front-loaded with the wrong information rather than the operation's actual effect. Brevity does not compensate for the incorrect framing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world tool with no output schema and an undocumented required id, the description should state what is deleted and any cascade or permission implications. Instead it describes a different operation entirely, leaving the agent unable to call it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter (id) with 0% schema description coverage, and the description adds nothing about what the id identifies or where to obtain it. With the resource unmentioned in relation to deletion, the single parameter's role stays undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('data transfers') but describes a view/edit endpoint, while the tool name says 'destroy'. An agent reading only the description would think this is a GET/PUT, not a DELETE. Purpose is therefore misleading rather than merely vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus sibling tools such as ciso_assistant_api_privacy_data_transfers_retrieve, _update, or _list. Even the implied guidance is wrong because the description says 'viewed or edited', which would steer the agent toward read/update siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_transfers_listApi privacy data transfers listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| processing | No | ||
| transfer_mechanism | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, destructiveHint=false, so the safety profile is covered. The description adds nothing behavioral beyond that – no mention of pagination behavior, filtering scope, or what 'optimized data' means in the returned payload.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but its content is internal jargon that does not front-load any information a caller needs. Brevity here comes from omission rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 undocumented parameters, no output schema, and only generic annotations, the description should carry substantial weight. Instead it leaves the caller with no idea of the resource, the filtering options, or the response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 8 parameters with 0% schema description coverage and no descriptions in the schema at all. The description mentions none of them – not limit/offset pagination, search, ordering, max_pages, nor the filters processing/transfer_mechanism – so an agent must guess every argument's semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a developer implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does for a caller. It never says it lists privacy data transfer records, nor distinguishes it from siblings like ciso_assistant_api_privacy_data_transfers_retrieve or _object_retrieve; only the tool name conveys the resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the retrieve, object_retrieve, cascade_info, or batch_action siblings. The only implied context is 'list', which the name already gives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_transfers_object_retrieveApi privacy data transfers object retrieveDRead-onlyIdempotent
API endpoint that allows data transfers to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and idempotentHint=true, yet the description says the endpoint allows data transfers to be 'edited'. That is a direct contradiction of the declared read-only profile, and nothing else (auth, scope, return shape) is disclosed. Flagged as Annotation Contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, so there is no bloat, but it is boilerplate that conveys almost no information. Brevity here comes from omission rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A retrieve-by-id tool with no output schema, no parameter documentation, and annotations that the description contradicts. An agent cannot tell from this text what calling it returns or which sibling it supersedes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description says nothing about the single required 'id' parameter — not its type, format, or what entity it identifies. The description adds zero meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Says 'data transfers' as the resource but the verb is hedged as 'viewed or edited', which does not match a retrieve-by-id endpoint. The description is a generic boilerplate line that does not distinguish this from the many sibling *_retrieve / *_object_retrieve tools for the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of the sibling list endpoint, the object_retrieve variant, or the related *_retrieve endpoint for data transfers. The agent gets no signal about which of the near-identical siblings to call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_transfers_partial_updateApi privacy data transfers partial updateC
API endpoint that allows data transfers to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the description needs to add partial-update semantics (unspecified fields preserved), permission requirements, or side effects — none of which appear. The word 'viewed' also sits awkwardly against readOnlyHint=false. It adds essentially no information 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded sentence with no padding, so it is concise. But its brevity comes from being generic boilerplate rather than from well-chosen content, so every word earns little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, 0% parameter coverage, and no annotation explanation of partial-update behavior, the description should carry the load. Instead it is a one-line boilerplate sentence that leaves field content, required permissions, and patch semantics unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description explains nothing about the two parameters. The required 'id' is self-evident, but 'body' is an untyped additionalProperties object whose acceptable fields are documented nowhere — the description could have named the data-transfer fields being edited and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is Django REST boilerplate: 'API endpoint that allows data transfers to be viewed or edited.' It names the resource ('data transfers') but the verb pair 'viewed or edited' neither matches the operation (a PATCH partial update) nor distinguishes it from the many siblings (privacy_data_transfers_retrieve, _update, _partial_update). It largely restates the title rather than describing the specific action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool rather than the sibling _update (full replace), _retrieve (read), or _list endpoints. Saying the endpoint allows data transfers to be 'viewed or edited' actively invites using it for reads, which it cannot do. No prerequisites (auth, id required) 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.
ciso_assistant_api_privacy_data_transfers_retrieveApi privacy data transfers retrieveBRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description still adds meaningful behavioral context that annotations cannot convey: the response is field-masked according to the caller's authorization. It stops short of explaining what happens on not-found or fully unauthorized access, which is why this is a 4 rather than 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, and the most important behavioral fact (masking) is stated immediately. It is arguably too terse rather than too long; nothing in it is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, no parameter description, and the description does not say which object type is returned, what fields exist, or how masking manifests in the payload. For a retrieve-by-id endpoint competing with several near-identical siblings, more context is needed to call it correctly and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, 'id' (a string), and the schema description coverage is 0%, so neither the schema nor the description explains its format. The description at least implies a single-record lookup keyed by an identifier, which is consistent with the required id field. No added syntax, format, or constraint guidance is provided, so the minimum-viable 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns 'a single object' but never names the resource (a privacy data transfer), so the reader must rely on the tool name to know what is being fetched. The added detail about unauthorized related fields being masked is genuinely informative, but the core 'retrieve a single data transfer by id' statement is only implied. It also does not distinguish this from the sibling 'privacy_data_transfers_object_retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus 'privacy_data_transfers_list', 'privacy_data_transfers_object_retrieve', or 'privacy_data_transfers_cascade_info_retrieve', all of which are plausible alternatives in the sibling list. There is no mention of prerequisites such as needing the record id or of what happens when the caller lacks permission to view certain fields.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_transfers_transfer_mechanism_retrieveApi privacy data transfers transfer mechanism retrieveCRead-onlyIdempotent
API endpoint that allows data transfers to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety context is supplied by the schema. The description adds nothing beyond that, and the phrase 'viewed or edited' implies write capability that the readOnly annotation explicitly denies, muddying rather than clarifying behaviour.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler and the purpose up front. It is efficient, though it reads as generic DRF boilerplate rather than a deliberate description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of saying what comes back, and it does not: it never indicates whether the response is a single transfer-mechanism value, an enum-like list of options, or a paginated collection. For a read tool this is the main thing an agent needs and it is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics for the description to explain; the schema is complete at 100% coverage. Baseline 4 applies for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states a verb (view) and a resource (data transfers), but the resource is imprecise: the tool name says 'transfer_mechanism' while the description only says 'data transfers', so an agent cannot tell whether this returns a transfer record or the set of allowed transfer-mechanism values. It also fails to distinguish itself from siblings like ciso_assistant_api_privacy_data_transfers_retrieve and ..._data_transfers_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many adjacent privacy-data-transfer tools (retrieve, list, object_retrieve, country). No prerequisites or exclusions are stated, so selection is left entirely to inference from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_data_transfers_updateApi privacy data transfers updateDIdempotent
API endpoint that allows data transfers to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: no mention of what the body replaces, whether omitted fields are cleared, or what permissions are required for a privacy-related mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, but its brevity comes from being generic rather than from being efficient; nothing useful is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint over privacy data transfers with zero documented parameters, no output schema, and no behavioral detail. Given the schema richness gap, the description would need to explain the body shape and mutation semantics, and it does none of that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not mention either parameter. The 'body' parameter is an unconstrained free-form object with additionalProperties=true, so without any hint about its expected shape the agent has no way to construct a valid call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that this 'allows data transfers to be viewed or edited', which is generic DRF boilerplate that restates the resource name without committing to a specific operation. Because siblings include _retrieve, _list, _update and _partial_update on the same resource, 'viewed or edited' actively blurs which one this is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this tool versus _update, _partial_update, _retrieve, or _list on data transfers. The 'viewed or edited' phrasing suggests it might be used for reads, which is misleading rather than merely absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_personal_data_batch_action_createApi privacy personal data batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=false, idempotent=false and openWorld=true. The description adds nothing beyond that safety profile: it does not explain what a 'batch action' payload looks like, whether partial failures are possible, whether changes are reversible, or what authorization is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single, front-loaded sentence with no filler or redundancy. The brevity is efficient, though it is achieved by omitting content rather than by tight phrasing of rich content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world batch mutation with an empty input schema and no output schema, the description should at minimum explain the payload contract and expected effect. Neither is present, leaving the agent unable to construct a valid call from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero documented parameters, the rule-of-thumb baseline is a 4, but the schema is an empty object with additionalProperties=false on a POST-style batch mutation, which strongly implies a required body that is documented nowhere. The description provides no compensating detail about ids, action types, or payload shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Perform a batch action on multiple objects' restates the name's 'batch action' and replaces the specific resource (privacy personal data) with the generic word 'objects'. It does not say which batch operations exist (e.g. delete, update, assign) or which entity model is affected, so it is only marginally more informative than the title itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this over the singular privacy_personal_data_create/update/destroy, over privacy_personal_data_batch_create_create, or over any of the ~100 sibling *_batch_action_create tools. No prerequisites, permissions, or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_personal_data_batch_create_createApi privacy personal data batch create createC
Batch create multiple personal data entries for a processing.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: it does not say whether the batch is atomic (all-or-nothing), what happens on partial failure, whether duplicates are rejected, or what the response contains for a non-idempotent bulk write.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, well within appropriate size. It is efficient but also the entire definition, which leaves the brevity bordering on under-specification rather than genuine conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent bulk-creation mutation with no output schema, the description should explain payload shape, parent-processing requirement, and batch semantics. None of that is present, and the empty input schema makes the description's only concrete claim ('for a processing') unsupported by the structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema declares zero properties with additionalProperties=false, so by the zero-parameter baseline this would be a 4. However, the description asserts the entries are created 'for a processing', implying a required parent reference and a collection payload that the schema does not expose — a discrepancy that leaves the agent unsure how the batch is actually parameterized.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Batch create multiple personal data entries') with the scoping target ('for a processing'), which distinguishes it from the singular sibling ciso_assistant_api_privacy_personal_data_create. It does not, however, distinguish itself from the near-identically named ciso_assistant_api_privacy_personal_data_batch_action_create, which an agent could easily confuse with it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this over privacy_personal_data_create (single) or privacy_personal_data_batch_action_create (batch action), no prerequisites such as needing an existing processing, and no note on limits or failure behavior for a batch operation. Usage must be inferred entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_personal_data_cascade_info_retrieveApi privacy personal data cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is covered, but the description adds nothing about what the preview contains, whether the target must exist, or what a cascade failure looks like. "Cascade preview" does not contradict the annotations, but it contributes no behavioral context beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words followed by a colon, so there is no padding, but the text is a dangling fragment rather than a front-loaded statement — it reads like an unfinished label and conveys less than one complete sentence would.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only cascade-impact endpoint with no output schema and an undocumented id, the agent needs to know what will be returned (affected objects, counts) and whether the call is a dry-run. Neither is present, so the definition is not sufficient to call the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter with 0% schema description coverage, and the description says nothing about it — the agent cannot tell whether id refers to a personal data record, a processing, or a parent object. Since the schema only says {"type": "string"}, the description was the only place to disambiguate and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment with a colon and no verb or resource; it hints at previewing cascade effects but never says it retrieves cascade-impact info for a personal-data record identified by id. An agent must infer the purpose entirely from the tool name, and nothing distinguishes it from the dozens of sibling *_cascade_info_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives (e.g. the destroy/delete counterpart it presumably previews), and no prerequisites or exclusions. The single phrase supplies zero routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_personal_data_category_retrieveApi privacy personal data category retrieveDRead-onlyIdempotent
API endpoint that allows personal data to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, but the description says the endpoint allows personal data to be 'edited', which contradicts the read-only behavior. It also fails to disclose that this likely returns category choices rather than personal-data records.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single concise sentence with no structural bloat, but it is generic boilerplate that does not earn its place by conveying useful information about the endpoint's actual behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what a retrieve endpoint returns, especially that this is likely a category-choice endpoint. Instead it gives only a generic and misleading 'viewed or edited' statement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is fully described as an empty object, so there is little parameter semantics to add. The description neither helps nor harms here, and the baseline for a 0-parameter tool is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a generic verb and resource ('personal data ... viewed or edited') but does not say it retrieves personal data *category* choices. It is also misleading about editing capability and does not distinguish this endpoint from siblings such as privacy_personal_data_retrieve or privacy_personal_data_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus the many privacy personal-data siblings, and 'viewed or edited' actively suggests an editing use case that a retrieve endpoint cannot satisfy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_personal_data_createApi privacy personal data createD
API endpoint that allows personal data to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false) already declare this is a non-idempotent write with no destructive side effects, so the description's silence is less damaging. However it adds zero context beyond annotations and even says 'viewed', which conflicts with the create semantics, though not with the annotations themselves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so nothing is wasted, but that brevity comes from under-specification rather than tight writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with a fully undocumented free-form body and no output schema gets no usable payload information, no response expectations, and no auth/permission notes. The description is completely inadequate for the task it must support.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single `body` parameter is an untyped free-form object with 0% schema description coverage, and the description gives no hint as to what fields a personal-data record requires. With no schema documentation and no descriptive compensation, an agent cannot construct a valid payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the generic DRF boilerplate 'allows personal data to be viewed or edited', which neither states that this is a create operation nor distinguishes it from the several sibling endpoints (retrieve, list, update, partial_update, destroy) on the same resource. An agent must infer the write-create behavior from the tool name alone, and 'viewed' actively points in the wrong direction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this endpoint versus ciso_assistant_api_privacy_personal_data_batch_create_create, _update, _partial_update, or _list. No prerequisites, no mention of required fields or permissions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_personal_data_deletion_policy_retrieveApi privacy personal data deletion policy retrieveCRead-onlyIdempotent
API endpoint that allows personal data to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, yet the description says personal data may be 'edited' through this endpoint. That contradicts the declared read-only profile, and no other behavioral context (what the deletion policy contains, auth needs, scoping) is offered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so there is no verbosity problem. However, it is not front-loaded with anything actionable — the one clause it contains points at the wrong operation, so brevity comes at the cost of usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter read endpoint with no output schema, the description is the only place an agent could learn what a 'deletion policy' record contains and why it matters. Instead it describes a different capability, leaving the tool's actual purpose unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema coverage is 100% (empty object), so there is nothing for the description to disambiguate. Per the baseline for 0-param tools, parameter semantics are essentially complete by construction.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a generic boilerplate line about an 'API endpoint that allows personal data to be viewed or edited' and never states the actual resource: the personal-data deletion policy. It restates the domain ('personal data') but neither the verb nor the specific resource, and gives no way to distinguish it from siblings such as privacy_personal_data_retrieve, _object_retrieve, or _list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this endpoint, what it returns, or how it differs from the many other personal-data retrieval endpoints. The only usage signal ('viewed or edited') actively misdirects toward a write/update operation, so an agent has no reliable rule for selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_personal_data_destroyApi privacy personal data destroyDDestructiveIdempotent
API endpoint that allows personal data to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, yet the description frames the operation as viewing/editing, directly contradicting the destructive write semantics. For a deletion tool the description should warn that the record is permanently removed; instead it implies a safe read/edit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, but it is generic boilerplate that provides no front-loaded information about the actual destroy operation. Brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, single-parameter deletion tool with no output schema, the description omits the target resource semantics, irreversibility, lookups/duplicate consumers of a personal data record, and confirmation requirements. An agent could not safely call this based on the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter (id) with 0% schema description coverage, and the description says nothing about what the id identifies or what format it takes. The description must compensate for the coverage gap for a destructive operation but adds no parameter meaning at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint allows personal data to be 'viewed or edited', which conflicts with the tool name (destroy) and true purpose of deleting a personal data record. It names a resource but the stated verb set is generic DRF boilerplate that does not distinguish this tool from the sibling list/retrieve/update operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the many sibling personal_data endpoints (retrieve, list, update, partial_update). No prerequisites, no warning about irreversible deletion, no mention of the required id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_personal_data_is_sensitive_retrieveApi privacy personal data is sensitive retrieveCRead-onlyIdempotent
API endpoint that allows personal data to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, but the description says personal data can be 'viewed or edited,' which implies a write capability. This directly contradicts the read-only annotation and makes the tool's behavior ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single boilerplate sentence, but it is generic and misleading rather than informative. Its brevity does not earn its place because it fails to state the actual retrieval purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and annotations covering safety, the description still fails to explain what 'is_sensitive' means or what the endpoint returns. It leaves the agent without enough context to know when this retrieval is useful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics for the description to clarify. Schema coverage is 100% and the empty input schema is self-explanatory, making this a baseline 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that this is an 'API endpoint that allows personal data to be viewed or edited.' It does not mention the 'is_sensitive' retrieval aspect in the tool name, and it conflates viewing with editing. It also gives no clue how it differs from the many sibling privacy personal-data endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus alternatives such as the personal data list, object retrieve, or update tools. The agent must infer usage entirely from the name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_personal_data_listApi privacy personal data listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| assets | No | ||
| offset | No | ||
| search | No | ||
| category | No | ||
| ordering | No | ||
| max_pages | No | ||
| processing | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing behavioral beyond that – no mention of pagination, default page size, filtering semantics, or what 'optimized data' means for results. The 'serializer context' phrasing is internal jargon that yields no agent-usable information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here comes from under-specification rather than efficiency. The single sentence is also not front-loaded with anything an agent needs, leading with framework internals instead of the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 9-parameter list tool with no output schema, no documented parameters, and an implementation-note description is wholly inadequate. The agent cannot form a correct call (e.g. whether 'search' or 'category' are valid filters, how max_pages interacts with limit/offset) from the available material.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Nine optional parameters (id, limit, offset, search, category, ordering, assets, processing, max_pages) with 0% schema description coverage and zero enums, and the description explains none of them. The agent gets no meaning for any filter, pagination, or ordering parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description describes an internal implementation detail ('override the list method to inject optimized data into the serializer context') rather than stating the user-facing purpose, which is listing privacy personal data records. An agent can only infer the resource from the tool name, not from the description text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever about when to use this tool, when not to, or which sibling (e.g. ciso_assistant_api_privacy_personal_data_retrieve, _object_retrieve, _batch_action_create) is the appropriate alternative. Nothing tells the agent that this is the collection-level read endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_personal_data_object_retrieveApi privacy personal data object retrieveDRead-onlyIdempotent
API endpoint that allows personal data to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows data to be 'viewed or edited', directly contradicting the annotation readOnlyHint=true and destructiveHint=false. No additional behavioral context (permissions, what is returned, scoping) is provided, and the stated capability is factually inconsistent with the declared 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no wasted words, but that brevity comes from boilerplate rather than precision — it is under-specified rather than concise, and the only substantive claim it makes is wrong.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A retrieve tool with no output schema and an undocumented id parameter needs the description to convey what entity is returned and how it differs from list/retrieve variants. It conveys none of this and actively misleads about mutability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has no schema description (0% coverage), and the description adds nothing about its format, whether it is the object's UUID/slug, or what it identifies. Minimal compensation for the schema gap beyond the obvious reading of 'id'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence is generic Django REST Framework boilerplate: it names the resource ('personal data') but gives a scope-less, dual-purpose verb ('viewed or edited') that doesn't reflect a single-object retrieve. It provides no way to distinguish this from siblings like privacy_personal_data_retrieve, privacy_personal_data_list, or privacy_personal_data_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the numerous sibling personal-data endpoints (list, retrieve, create, update, partial_update, batch_action). The agent must infer selection purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_personal_data_partial_updateApi privacy personal data partial updateC
API endpoint that allows personal data to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that and its 'viewed or edited' wording is misleading for a mutation endpoint, with no mention of partial-merge semantics or which fields are omitted versus nulled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, but the brevity comes at the cost of substance, so it reads as under-specification rather than discipline. Nothing is front-loaded beyond the generic endpoint framing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with an opaque free-form body, no output schema, and no annotations covering payload shape — the description should explain what the body accepts, but offers no information at all. An agent cannot construct a correct call from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the body parameter is an untyped free-form object with additionalProperties=true, so the schema provides essentially no help. The description contributes nothing about the required id or what the body object must contain, leaving the caller to guess the payload shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the resource ('personal data') but dilutes the operation to a generic 'viewed or edited', which does not identify this as the partial-update (PATCH) variant. It is indistinguishable from the sibling retrieve, update, and partial_update tools on this same resource without reading the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use partial update instead of update, retrieve, or object_retrieve. The phrase 'viewed or edited' actively muddles whether this is a read or a write call, so an agent gets no routing signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_personal_data_retrieveApi privacy personal data retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds one genuinely useful behavioral fact beyond the annotations: unauthorized related fields are masked, warning the agent that the response is field-filtered. It stops there, giving no detail on which fields, or what an unauthorized caller actually receives.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler and no repetition of the title. It is efficient, though its brevity is partly the result of under-specification rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup tool the bar is low, but with no output schema and zero parameter documentation in the schema, the description should at least identify the target resource, the identifier type, and the authorization behavior behind the masking. It omits all three, leaving the masking clause as the only substantive content.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter, id, with 0% description coverage, so the description is the only place semantics could be supplied. It never mentions the id or what kind of identifier is expected (personal-data record UUID vs. reference), leaving the single parameter unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns 'a single object' but never names the resource (personal data), relying entirely on the tool name to convey what is returned. The masking clause does add a distinguishing scoping detail, but the operative verb+resource is generic and not differentiated from the sibling object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this instead of ciso_assistant_api_privacy_personal_data_object_retrieve, list, or any other retrieval sibling. There is no statement of prerequisites, required permissions, or what happens if the id is missing or the caller lacks access.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_personal_data_updateApi privacy personal data updateDIdempotent
API endpoint that allows personal data to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, which conveys most of the safety profile. The description adds nothing beyond that and actually muddies the picture by advertising that data can be 'viewed', which reads as a read operation on a non-read-only endpoint. It never says what fields are replaced, whether unspecified fields are cleared, or what permissions are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is structurally efficient, but the brevity comes from being boilerplate rather than from being informative. There is nothing front-loaded because there is nothing substantive to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque free-form body, no output schema, and 0% parameter coverage, the definition leaves the agent without the payload shape, the effect of the update, or auth requirements. The annotations cover safety hints, but the description does not fill the remaining operational gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the schema itself is almost empty: a required 'id' string and a free-form 'body' object with additionalProperties=true. The description gives no indication of what the body should contain, so an agent has no way to construct a valid payload from the documentation. Only the vague implication that the body carries personal-data fields keeps this above a 1.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST boilerplate: 'API endpoint that allows personal data to be viewed or edited.' It names a resource but pairs it with an ambiguous verb ('viewed or edited') on a tool whose name explicitly says update, and it does nothing to separate this from the many sibling endpoints (privacy_personal_data_retrieve, _partial_update, _list, _object_retrieve). An agent cannot tell from this text whether the call mutates, reads, or partially updates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus privacy_personal_data_partial_update, privacy_personal_data_retrieve, or privacy_personal_data_batch_action_create. No prerequisites (auth, id requirement, whether the record must exist) are mentioned, so the agent must infer everything 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.
ciso_assistant_api_privacy_processing_natures_batch_action_createApi privacy processing natures batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, but the description adds nothing on top — it never says what actions exist, what gets modified, what permissions are required, or what happens on partial failure. For a mutation endpoint with an empty schema, that is a substantial gap rather than a contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short, front-loaded sentence with no filler, but the brevity comes from under-specification rather than economy — the sentence conveys essentially nothing beyond the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with no annotations beyond generic hints, no output schema, an empty input schema, and a description that supplies none of the missing context. An agent has no basis for deciding how to invoke it or what to expect afterward.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema declares zero properties with additionalProperties=false, so under the baseline rule this would be a 4. However, a batch action plausibly needs a target-id list and an action selector, and the description gives no hint about payload shape, so it cannot compensate for what the empty schema omits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Perform a batch action on multiple objects' — the resource is reduced to the generic word 'objects', so the actual target (privacy processing natures) appears only in the tool name. Roughly a hundred sibling tools share the identical 'batch_action_create' suffix, and nothing here distinguishes this one from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use a batch endpoint versus the per-object create/update/destroy siblings, no prerequisites, and no mention of which batch operations are supported. The word 'batch' weakly implies bulk use, but no condition or alternative is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processing_natures_cascade_info_retrieveApi privacy processing natures cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered elsewhere. The description adds nothing beyond that — it does not say what a 'cascade preview' returns, what the cascade traverses, or what happens if the id is unknown, so it contributes zero behavioural context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but that brevity reflects under-specification rather than economy: a two-word fragment ending in a colon reads like a truncated heading, not a usable definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool with no output schema and 0% parameter documentation, the description must carry the full load of explaining input and return shape, and it explains neither. Nothing an agent needs in order to call this correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is undocumented in both schema and description. The description never says which entity the id identifies (presumably a processing nature) or what the id keys into for the cascade.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment 'Cascade preview:' — it hints at a preview of cascade information but states no verb, no resource (privacy processing natures), and no object. An agent would have to infer the intent entirely from the tool name and title, which restate the same phrase.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling alternatives exist (e.g. the plain *_retrieve, *_list, or *_cascade_info_retrieve counterparts). The agent is left to guess from naming conventions alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processing_natures_createApi privacy processing natures createD
api_privacy_processing_natures_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true, so the safety profile is partly known. The description contributes nothing beyond that: no mention of auth requirements, whether duplicates are rejected, what side effects occur, or what a body-less (null) call does.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is under-specified rather than economical — a single sentence that duplicates the title. There is no front-loaded statement of purpose or scope to justify its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating create tool with a free-form untyped body, no output schema, and a huge family of near-identically named siblings, the description should at minimum identify the resource's fields and the create contract. It supplies none of this, leaving the agent unable to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (body, an untyped anyOf object/null) with 0% schema description coverage and no required fields, and the description says nothing about what shape the body should take or which fields the processing nature accepts. With no meaningful documentation anywhere, an agent cannot construct a correct payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the tool name verbatim ('api_privacy_processing_natures_create'), adding no verb-plus-resource explanation of its own. The name does imply creating a privacy processing nature, but the agent gains nothing beyond what the identifier already conveys, and there is no differentiation from siblings like _update, _batch_action_create, or _create on adjacent resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to call this versus the many create-style siblings (_batch_action_create, _partial_update, ciso_assistant_api_request), no prerequisites, and no statement of what the endpoint operates on. The agent must infer everything from the identifier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processing_natures_destroyApi privacy processing natures destroyDDestructiveIdempotent
api_privacy_processing_natures_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 fully carried by structured data. The description adds zero context such as cascade behavior, whether linked processings block deletion, or required permissions — it discloses nothing 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that shortness is under-specification rather than concision: a bare identifier string is not a front-loaded explanation of anything.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, open-world mutation tool with no output schema and an undocumented required parameter needs a real description; this one provides no information an agent could act on beyond the name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the description must compensate and instead says nothing at all about what the ID identifies or its format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the identifier 'api_privacy_processing_natures_destroy' with no verb or resource spelled out in prose. An agent can reverse-engineer 'delete a processing nature' from the name, but the description itself is a tautology that adds nothing beyond the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to delete, what preconditions apply, or which sibling (e.g. partial_update, destroy variants of other privacy resources) to prefer. Nothing distinguishes it from the many other *_destroy 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.
ciso_assistant_api_privacy_processing_natures_listApi privacy processing natures listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
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 nothing beyond that—no return format, no pagination behavior, no auth context—and its mention of serializer injection is meaningless to an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, but the content is an implementation aside rather than a front-loaded purpose, so its brevity does not translate into usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter listing tool with no output schema and no parameter documentation, the description is far from complete. It explains an internal detail and leaves an agent without the operational context needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across five parameters (limit, offset, search, ordering, max_pages). The description explains none of them, so it fails to compensate for the fully undocumented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text 'Override the list method to inject optimized data into the serializer context' is an internal implementation note, not a purpose statement. It only weakly implies a list operation and never says what resource is listed—the agent must infer 'privacy processing natures' solely from the name/title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no exclusions, and no reference to alternatives such as the object_retrieve, create, or batch_action siblings in the privacy_processing_natures family.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processing_natures_object_retrieveApi privacy processing natures object retrieveDRead-onlyIdempotent
api_privacy_processing_natures_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint, so the safety profile is covered structurally. The description adds nothing beyond that — no note on what object type is fetched, what the id refers to, or what happens on a missing id, which is the remaining disclosure gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is pure restatement rather than conciseness — not a single sentence adds information beyond the tool name. Nothing is front-loaded because there is nothing to load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter retrieve tool with no output schema, the description should at minimum name the resource domain (privacy processing natures) and clarify the id. Neither is present, leaving the definition dependent entirely on the annotations and the slug.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description is the only place the single required `id` parameter could be explained, yet it says nothing about whether the id is a UUID, integer, slug, or which entity namespace it belongs to. The schema alone leaves the parameter ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the tool's own identifier restated: "api_privacy_processing_natures_object_retrieve". It names no verb or resource in plain language beyond the machine slug, and it does nothing to distinguish this from siblings like ciso_assistant_api_privacy_processing_natures_retrieve or ciso_assistant_api_privacy_processing_natures_object_retrieve's list counterpart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to use this tool versus the many near-identical siblings (privacy_processing_natures_retrieve, privacy_processing_natures_list, privacy_processing_natures_object_retrieve variants). An agent has no basis for selection other than the slug itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processing_natures_partial_updateApi privacy processing natures partial updateD
api_privacy_processing_natures_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, but the description adds zero context about what a partial update actually changes, what merging semantics apply, or what permissions are required. The description carries no behavioral information at all.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is no wasted length, but this is because there is no content whatsoever — the single token string is a name echo rather than a front-loaded summary. This is under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with no output schema and 0% parameter documentation, the description supplies nothing an agent needs to invoke it correctly — no payload shape, no ID format, no return behavior, and a large ambiguous 'body' object left entirely unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, with an undocumented 'id' string and an untyped 'body' object admitting arbitrary properties. The description cannot compensate at all — it never mentions either parameter or what fields the body accepts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool's own name restated verbatim ('api_privacy_processing_natures_partial_update'), adding no verb, resource, or scope information beyond the identifier. It does not distinguish this tool from siblings such as _update, _create, _destroy, or _retrieve on the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling _update (full update), _create, _destroy, or _retrieve operations. Nothing tells an agent which of the many privacy_processing_natures endpoints to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processing_natures_retrieveApi privacy processing natures retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds useful context that unauthorized related fields are masked, which is not in the annotations, but it does not explain what gets masked, what authorization is required, or how the response differs by permission level.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, but it is under-specified rather than informative. It front-loads the generic return action and appends the masking note, but lacks the resource name needed for structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieve-by-id tool with no output schema and 0% parameter description coverage, the description is too sparse. It does not identify the resource, describe the id parameter, or explain what masked fields the caller should expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter (id) with 0% description coverage, so the description must compensate. It contains no information about the id parameter, its format, or expected identifier type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a generic retrieve action ('Return a single object') and adds a masking behavior, but it never names the resource (privacy processing natures) or distinguishes this tool from the sibling object_retrieve/list tools. The tool name supplies the resource, but the description itself remains vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this retrieve endpoint versus privacy_processing_natures_object_retrieve, list, or cascade_info_retrieve. No prerequisites, filtering context, 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.
ciso_assistant_api_privacy_processing_natures_updateApi privacy processing natures updateDIdempotent
api_privacy_processing_natures_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that: no statement of what fields are replaced, whether omitted fields are cleared, or what permissions are required for a mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is under-specified — a single identifier token with no front-loaded statement of action, scope, or payload. Brevity here is a defect, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint taking a free-form body object with no output schema and no annotation detail about side effects, the description leaves everything an agent needs unanswered. There is nothing to compensate for the 0% schema coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description supplies no parameter information at all. The 'body' parameter is an unconstrained object with additionalProperties=true, so the agent has no idea what payload shape to send and must guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool's identifier repeated verbatim ('api_privacy_processing_natures_update'), which restates the name and title rather than explaining anything. An agent can infer only that it is an update to some 'privacy processing natures' resource, with no statement of what that resource is or what is being changed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as ciso_assistant_api_privacy_processing_natures_partial_update, _create, or _destroy. The choice between full update and partial update — a genuinely ambiguous pair here — is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processings_agg_metrics_retrieveApi privacy processings agg metrics retrieveDRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, which is consistent with a retrieve, so there is no safety contradiction. But the description's only behavioral claim – that this is an export mixin – misrepresents the tool's behavior, so it subtracts rather than adds transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short and front-loaded, but its content is wrong and unrelated to the tool's actual purpose. Brevity without relevance does not earn credit; the specification is deficient, not concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter retrieve with no output schema, the description is the only place an agent can learn what metrics or aggregation breakdown are returned. Instead it describes an unrelated export mixin, leaving the tool's contract entirely unexplained and likely to cause wrong invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and schema coverage is 100%, so parameter documentation is not a burden here. The description adds nothing on parameters, but nothing is needed; baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name and title identify it as retrieving aggregate metrics for privacy processings, but the description says it is a "Generic export mixin for CSV/XLSX exports" – a completely different job that belongs to the sibling export_csv_retrieve / export_xlsx_retrieve tools. An agent reading this would have no idea what data the tool actually returns, and would likely mis-select it for exports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool versus the sibling metrics_retrieve, export_csv_retrieve, or export_xlsx_retrieve tools. Worse, the text points toward export scenarios that are handled by other tools, so the guidance is actively misleading rather than merely absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processings_assigned_to_retrieveApi privacy processings assigned to retrieveDRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the description should add scope or return-format context; instead it implies a CSV/XLSX file export, which is a different behavior from what the name promises (a filtered list of assigned processings). The one sentence present misdirects rather than informs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence, so it is not bloated, but conciseness only counts when the content is relevant. The single sentence is boilerplate about an export mixin and contributes no usable information about this endpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema and no annotations explaining scope, the description is the only place to say what 'assigned to' means (current user vs. a user id) and what is returned. It says none of that, leaving the agent unable to call the tool with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to explain and the baseline of 4 applies. No parameter-level gap exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description ('Generic export mixin for CSV/XLSX exports') does not describe this tool at all. The name and title indicate retrieving privacy processings assigned to the current user, but the text describes an internal export mixin, actively misleading the agent about what the call does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of alternatives such as ciso_assistant_api_privacy_processings_list or ciso_assistant_api_privacy_processings_export_csv_retrieve, and no indication that this is the 'assigned to me' variant. Nothing helps an agent choose this tool over its many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processings_batch_action_createApi privacy processings batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the description's burden is to explain what a "batch action" actually does (which operations, what gets modified, partial-failure behavior). It says none of that, adding no context beyond the structured hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded sentence, so there is no padding — but brevity here comes from omission rather than efficiency. The one sentence carries almost no useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A non-idempotent, non-read-only mutation with an empty schema, no output schema, and no explicit behavioral notes leaves the agent unable to call it correctly. The description would need to specify the action payload and affected resource to be usable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters, so the baseline is 4 per the rubric; however this is a batch mutation that in practice must accept a body of object IDs and action, and the description does nothing to clarify what input the endpoint expects. Trimmed one point for that unexplained mismatch.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Perform a batch action on multiple objects" is essentially a restatement of the name suffix batch_action_create and never names the resource (privacy processings) or what actions are available. With dozens of nearly identical *_batch_action_create siblings, the description provides zero differentiation between them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this bulk endpoint versus single-record endpoints like privacy_processings_update or privacy_processings_destroy, nor on preconditions. The only implied usage is "multiple objects," which the agent can already infer from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processings_cascade_info_retrieveApi privacy processings cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 known without the description. The description adds nothing beyond that – it does not explain what 'cascade preview' returns, whether it is a dry-run of a delete cascade, or how large the payload might be.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Brevity here comes from under-specification rather than economy: four words followed by a colon and nothing after it. There is no front-loaded statement of purpose to be concise about.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists and the description supplies none of the missing context: no explanation of what cascade info contains, no indication of dependencies traversed, and no guidance on interpreting the preview. For a tool whose whole value is in the shape of its response, this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, so the description carries the full burden – but it says nothing about whether the id refers to a privacy processing, a folder, or a library. The agent must guess the object type from the tool name alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment 'Cascade preview:' – it names no verb, no resource, and no object. It echoes the word 'cascade' from the tool name without clarifying that this returns preview data about what would be affected for a privacy processing record.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, when to prefer the plain retrieve/object_retrieve siblings, or what 'cascade' implies operationally. An agent has no basis for choosing it over ciso_assistant_api_privacy_processings_retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processings_createApi privacy processings createD
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and openWorldHint=true, i.e. a mutating operation, while the description frames it as a CSV/XLSX export. No information is given about required permissions, side effects, or what the single body payload should contain, so the description actively misleads rather than adds context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but brevity here comes from being boilerplate copy-pasted from a mixin docstring rather than from disciplined editing. The content does not earn its place because it is unrelated to the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create/mutation endpoint with an untyped body, no output schema, and annotations that only flag non-idempotency, the description supplies none of what an agent needs: what object is created, what the payload must contain, or what comes back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (a free-form `body` object) with 0% schema description coverage, so the description must compensate and it does not. Nothing is said about the fields of the privacy processing to submit, required vs optional attributes, or the payload format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Generic export mixin for CSV/XLSX exports" describes a different operation entirely from the tool's name, which is a create endpoint for privacy processings. It names no verb or resource relevant to creating a processing and cannot be distinguished from the sibling export tools it accidentally describes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus siblings such as ciso_assistant_api_privacy_processings_list, partial_update, or the dedicated export_csv/export_xlsx tools. The one sentence present points the agent toward the wrong family of tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processings_destroyApi privacy processings destroyDDestructiveIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, readOnlyHint=false and idempotentHint=true, yet the description frames the tool as an export mixin. The description contradicts the structured safety signals and discloses nothing about irreversibility, cascading deletions, or required authorization.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no bloat, but the content is entirely off-topic and consumes the only descriptive slot with irrelevant information. Brevity cannot compensate for being wrong.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world mutation tool with no output schema and zero schema documentation, the description should explain the target resource, deletion consequences, and permissions. It supplies none of this and instead misidentifies the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required 'id' parameter is undocumented. The description adds no information about what the id identifies or its format, and instead talks about export formats that do not exist as parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Generic export mixin for CSV/XLSX exports', which describes an export capability rather than the delete operation the tool name and annotations indicate. An agent reading it would conclude this tool exports data, the opposite of a destroy endpoint. This is misleading rather than merely vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to delete a privacy processing, what alternatives exist (e.g. the sibling list/update tools), or any preconditions such as required permissions. Worse, the stated use case (exporting CSV/XLSX) points the agent toward the wrong action entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processings_export_csv_retrieveApi privacy processings export csv retrieveCRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, destructiveHint=false, so the safety profile is fully covered and the bar is low. The description adds nothing beyond that – no mention that the call streams a file, what shape the response takes, or whether filters/scope apply. "Generic export mixin" is an internal-code detail, not agent-facing behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, but its brevity comes at the cost of usefulness: the front-loaded content is an implementation note rather than the resource and format an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param, read-only export with no output schema, the description should at least name the exported object (privacy processings) and confirm the CSV deliverable. Neither is present, so the agent must reconstruct intent from the tool name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The description does not misdescribe any inputs, though it also offers no help because there is nothing to parameterize.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Generic export mixin for CSV/XLSX exports" restates the implementation mechanism rather than saying what is exported. It never mentions privacy processings/processing activities, so the resource must be inferred entirely from the tool name, and it does not distinguish this from the dozens of other *_export_csv_retrieve siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus ciso_assistant_api_privacy_processings_export_xlsx_retrieve or the plain list endpoint. It does not even state that CSV is the format this specific endpoint produces, despite the mixin serving both CSV and XLSX.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processings_export_xlsx_retrieveApi privacy processings export xlsx retrieveCRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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's main added burden is explaining that this returns a generated spreadsheet file — which it does not. Calling it a 'generic mixin' is implementation jargon that tells an agent nothing about the response payload, size, or filtering behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but brevity without substance: 'mixin' is internal implementation vocabulary that does not earn its place, and the most important information (what data is exported, in what format) is absent rather than front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an endpoint that returns a binary XLSX file with no output schema, the description should say that the response is a downloadable spreadsheet of privacy processing records. Instead it gives a generic one-liner that leaves format, scope, and distinction from the CSV sibling entirely to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is complete (100% coverage), so there is nothing for the description to disambiguate. A 4 baseline applies to parameterless tools, and the description neither helps nor harms here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description reads 'Generic export mixin for CSV/XLSX exports', which restates the mechanics rather than the tool's specific purpose. It never says that it exports privacy processings data, and its mention of CSV muddies an endpoint that is XLSX-only; only the tool name conveys the actual verb and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this export versus the sibling privacy_processings_export_csv_retrieve or the generic list/retrieve endpoints. The only hint is 'CSV/XLSX', which offers no selection criteria or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processings_listApi privacy processings listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| nature | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| ordering | No | ||
| max_pages | No | ||
| perimeters | No | ||
| assigned_to | No | ||
| filtering_labels | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds only the opaque phrase "inject optimized data into the serializer context," which conveys nothing about pagination, filtering behavior, permissions, or response shape that an agent could act on.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but wasted: it is front-loaded with framework internals rather than the resource and operation. Conciseness here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 12-parameter, zero-required list tool with no output schema, no parameter documentation, and no behavioral notes is left almost entirely unexplained. The one sentence provided does not give an agent enough to invoke it reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 12 parameters, and the description compensates for none of it. It does not explain what id, folder, nature, status, perimeters, filtering_labels, assigned_to, search, ordering, limit, offset, or max_pages do, despite this being the primary barrier to calling the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Override the list method to inject optimized data into the serializer context" describes an internal Django implementation detail, not a user-facing capability. It never states that it lists privacy processing records or what those records represent, leaving the agent to infer the purpose from 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this instead of siblings such as ciso_assistant_api_privacy_processings_retrieve, _agg_metrics_retrieve, _export_csv_retrieve, or _object_retrieve. There are no preconditions, exclusions, or alternative-routing instructions of any kind.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processings_metrics_retrieveApi privacy processings metrics retrieveCRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered without the description. The description adds no behavioral context for a metrics endpoint (scope of aggregation, whether filters apply, output shape) and instead refers to export mixin semantics, which is not what the annotations or name suggest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is structurally economical. However, the sentence is a leaked framework docstring that does not earn its place because it conveys no information about this endpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and only annotation-level safety hints, the description was the sole place to explain what the returned metrics represent. It provides nothing on that front, leaving the agent to infer behavior entirely from the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty with additionalProperties=false, so there is nothing for the description to disambiguate. The baseline for a 0-parameter tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never states that this tool retrieves privacy processing metrics. Instead it describes an unrelated implementation base class ('Generic export mixin for CSV/XLSX exports'), which points an agent toward CSV/XLSX export behavior that belongs to the siblings export_csv/export_xlsx. This is actively misleading, not merely vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this endpoint, no differentiation from privacy_processings_agg_metrics_retrieve, status_retrieve, or the export siblings, and no prerequisites or exclusions. The one sentence given offers no selection criteria at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processings_object_retrieveApi privacy processings object retrieveDRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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), so the description only needed to add retrieval context. Instead it discloses a misleading export behavior and says nothing about what a fetch by id returns or whether missing ids error.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no bloat, but brevity is wasted when the content is irrelevant to the tool. Nothing useful is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 0% parameter documentation, the description carries the full burden for a one-parameter retrieve endpoint. It fails entirely, leaving an agent unable to determine the resource, the return shape, or the id semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, and the description never mentions it. The parameter is self-evidently an identifier from the tool name, but the description adds no meaning about format, expected values, or failure behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Generic export mixin for CSV/XLSX exports,' which describes an export capability rather than retrieving a single privacy processing record by id. It contradicts the tool name and gives an agent no way to tell what the tool actually returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus siblings such as ciso_assistant_api_privacy_processings_retrieve, _list, or _export_csv_retrieve. The text that is present points toward exports, which would actively misroute an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processings_partial_updateApi privacy processings partial updateD
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and openWorldHint=true, i.e. a mutation against an external-facing object, but the description frames it as an export mixin, implying a read. This actively misleads about the operation's effect; no mention of what is modified, whether the body is a partial patch, or error/permission behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but is entirely waste: it describes a different concern (export) and conveys no usable information about this tool. Brevity here is under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation with no output schema and no annotation coverage of semantics, the description provides nothing an agent needs: not the object being patched, not the body contract, not prerequisites or side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate — and it does not. Neither the required 'id' (presumably the processing UUID) nor the free-form 'body' patch object is mentioned, leaving the shape of the update completely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the tool is a 'Generic export mixin for CSV/XLSX exports', which describes an export/read capability. The tool name and annotations indicate a partial update (mutation) on privacy processings. An agent reading this would conclude the wrong operation entirely.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many sibling update/patch tools (e.g. ciso_assistant_api_privacy_processings_update, _create, _destroy). The only sentence present points at an export use case that does not apply.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processings_retrieveApi privacy processings retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), so the bar is lower. The description nonetheless adds real value by disclosing that "unauthorized related fields" are masked, indicating field-level permission filtering on the result — but it doesn't say which fields are masked or how authorization is determined.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, and the masking detail is front-loaded. It is efficient, though the brevity comes at the cost of the missing information noted elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must convey the return shape and it only says "a single object" plus the masking caveat. For a lookup tool it omits error/not-found behavior and any hint of what fields the returned processing object contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the sole required parameter (id, a string) is never mentioned in the description. No format, ID source, or not-found behavior is explained, so the description does not compensate for the undocumented parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says "Return a single object" but never names the resource (a privacy processing), so it largely restates the title/name rather than defining it. It also gives no way to distinguish this tool from the sibling ciso_assistant_api_privacy_processings_object_retrieve, which appears to serve the same single-record read.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus the sibling list, object_retrieve, or cascade_info tools. The only hint of usage is the singular "single object", which an agent must infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processings_status_retrieveApi privacy processings status retrieveDRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the description needed to add retrieval semantics or response shape. Instead it describes a CSV/XLSX export mixin, which contradicts the read-only status-retrieve behavior implied by the name and provides zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but brevity does not help when the sentence describes the wrong thing. There is no front-loaded statement of purpose, only an internal implementation note.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve endpoint with an empty parameter schema and no output schema, the description should say what status data is returned and for which resource. It says none of that, leaving the agent with a description that describes a different capability entirely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so parameter semantics default to baseline 4 territory. However, the description implies export-format options (CSV/XLSX) that do not exist in the schema, which is mildly misleading even though there is nothing to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description ('Generic export mixin for CSV/XLSX exports') describes an internal Python mixin, not the tool's actual behavior, which per the name and title is a status retrieval endpoint for privacy processings. It actively misdirects the agent toward an export operation that this tool does not perform.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool, no mention of the sibling status-retrieve endpoints or the /privacy/processings/ family, and no conditions or exclusions. An agent has nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_processings_updateApi privacy processings updateDIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, so this is a mutating call, yet the description claims it is an export mixin — a read-style behavior. That is a direct contradiction of the annotation profile, and the description adds nothing about what is modified, required permissions, or what happens to unspecified fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence that is front-loaded, so it is not verbose. But brevity here is pure under-specification of a mutation tool with two undocumented parameters, and the content that is present is irrelevant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write endpoint with an opaque `body`, no output schema, and zero schema descriptions, the definition supplies none of the context an agent needs to construct a correct call. The description is not just incomplete, it describes a different capability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters, so the description carries the full burden and provides nothing: no explanation of the required `id`, and no information about the untyped `body` payload (which fields of a privacy processing it accepts). The generic object `body` is especially unhelpful without guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description describes an export mixin for CSV/XLSX files, which is not what this tool does. The tool name, title, and schema (an `id` plus an update `body`) indicate an update operation on a privacy processing record, but the description never mentions updating or privacy processings. This is actively misleading rather than merely vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given, and what little is stated ('exports') points the agent at the wrong operation entirely. An agent following this text would look for export siblings such as ciso_assistant_api_privacy_processings_export_csv_retrieve or export_xlsx_retrieve instead of calling this update endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_purposes_article_9_condition_retrieveApi privacy purposes article 9 condition retrieveCRead-onlyIdempotent
API endpoint that allows purposes to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows purposes to be 'viewed or edited', which contradicts readOnlyHint=true and the retrieve-only nature of the route. No other behavioral detail (auth needs, response contents) is offered, so the sentence actively misleads rather than adds context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, but it is under-specified rather than concise, and it spends its limited words on an inaccurate 'edited' clause instead of the article 9 condition semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place an agent could learn what this endpoint returns about Article 9 conditions, and it says nothing about it. For a legal-basis/compliance-relevant lookup, that leaves the caller unable to judge relevance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema is complete and the description carries no parameter burden. Baseline 4 applies; no parameter claims are made or needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states a resource (privacy purposes) and a capability (viewing/editing), but this is generic DRF boilerplate that never mentions the 'Article 9 condition' facet in the tool name. It does not distinguish itself from close siblings such as api_privacy_purposes_retrieve or api_privacy_purposes_legal_basis_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when an agent should pick this endpoint over the many adjacent privacy_purposes_* tools, and no prerequisites or eligibility conditions are mentioned. The agent is left to infer purpose entirely from the mangled endpoint name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_purposes_batch_action_createApi privacy purposes batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, non-idempotent, open-world, non-destructive; the description adds no context beyond that. It doesn't say which actions (delete/update/assign?) are supported, what the payload looks like, whether partial failures are possible, or what permissions are required — all material for a POST batch endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no waste, but it is under-specified rather than concise; nothing is front-loaded because there is nothing substantive to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating, non-idempotent batch endpoint with no output schema and an empty input schema, the description omits the resource, the allowed actions, and the request body. An agent cannot call this correctly from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero properties with additionalProperties=false, which per the rules gives a high baseline. However, a batch action logically requires ids and an action selector, and the description offers no hint about that payload — so it does not compensate for the suspiciously empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Perform a batch action on multiple objects', which is a generic verb-and-generic-noun restatement of the tool name. It never mentions privacy purposes, nor which batch actions exist, so an agent cannot tell what this does differently from the dozens of sibling *_batch_action_create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, prerequisites, or alternatives are given. With ~1000 siblings including per-resource batch actions and a generic privacy_purposes_update/destroy, the agent has nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_purposes_cascade_info_retrieveApi privacy purposes cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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. However, the description adds no behavioral context about what a cascade preview returns, whether it affects dependent records, or how it differs from a normal retrieve despite the cascade implication.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but it is under-specified rather than concise. 'Cascade preview:' is a fragment that does not front-load actionable information for the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only cascade-information endpoint requiring a specific id and having no output schema, the description gives no information about behavior, return shape, or usage. It is not sufficient for an agent to call the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one required 'id' parameter with zero schema description coverage, and the description provides no information about what the id refers to or how it should be formatted. Unlike a zero-parameter tool, this undocumented path/query parameter requires explanation that is completely absent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only 'Cascade preview:' and does not state a clear verb or resource beyond the tool name. It hints at a preview operation but does not explain what 'cascade info' means for privacy purposes, leaving the agent to infer the purpose from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or how it relates to sibling tools such as the standard privacy purposes retrieve or object retrieve endpoints. The agent receives no routing signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_purposes_createApi privacy purposes createD
API endpoint that allows purposes to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true, so the safety profile is partly covered. The description adds nothing about the write: no required payload shape, no side effects, no error behavior, and its "viewed or edited" wording implies read capability that the annotations and tool name do not support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, which is structurally fine. The problem is under-specification rather than verbosity, so it earns a middling score with no front-loaded actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create endpoint with a free-form body, no output schema, and no annotations covering the payload, the description should at minimum name the resource being created and the fields involved. It supplies none of that, so an agent cannot construct a valid call from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single `body` parameter has 0% schema description coverage and is an untyped free-form object, so the description is the only place field semantics could be supplied. It says nothing about what a purpose payload contains, leaving the sole parameter completely opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates a generic label ("API endpoint that allows purposes to be viewed or edited") rather than stating the operation. The tool name says create, but the description describes viewing/editing, so an agent cannot confidently tell this apart from ciso_assistant_api_privacy_purposes_list, _retrieve, or _update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the sibling list/retrieve/update tools that overlap with the described capability. Worse, the "viewed or edited" framing points the agent away from the create operation the tool actually performs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_purposes_destroyApi privacy purposes destroyDDestructiveIdempotent
API endpoint that allows purposes to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, but the description says the endpoint is for viewing or editing purposes and never mentions deletion, irreversibility, or destruction of an existing record. This creates an annotation contradiction: the structured metadata says destructive, while the prose frames it as view/edit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is only one short sentence, so it is concise, but the sentence is generic boilerplate and does not front-load the destructive action. Conciseness cannot rescue a sentence that actively misdirects.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive endpoint with no output schema and an undocumented required id, the description should at minimum explain deletion semantics, required permissions, and consequences. It instead supplies only a generic 'viewed or edited' statement, leaving the agent without the information needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter is 'id' with 0% schema description coverage, and the description provides no explanation of what the id represents or that it must identify the purpose to delete. The description must compensate for the schema gap but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint allows purposes to be 'viewed or edited,' which is misleading for a tool whose name and annotations identify it as a destroy/delete endpoint. It does not state that the operation deletes a privacy purpose, so the agent cannot rely on it to distinguish this tool from retrieve or update siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when deletion should be used, what prerequisites exist, or how it differs from the sibling privacy_purposes_retrieve/update/list tools. The description instead implies view/edit usage, which is the opposite of the intended destructive action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_purposes_legal_basis_retrieveApi privacy purposes legal basis retrieveCRead-onlyIdempotent
API endpoint that allows purposes to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, yet the description says the endpoint allows purposes to be "viewed or edited", implying a write capability that the structured data explicitly denies. Nothing is added about what the legal-basis payload contains or any auth/permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so it is appropriately sized and front-loaded. The problem is that the brevity comes from boilerplate rather than from focused content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no explanation of the return value, an agent has no idea this likely yields a list of GDPR legal-basis options (e.g. consent, contract, legal obligation). For a choices/enumeration-style lookup endpoint, the description should at least say what comes back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is an empty object, so there is no parameter semantics for the description to explain. Baseline 4 applies; the description introduces no misleading parameter hints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint that allows purposes to be viewed or edited" restates the tool name (privacy_purposes ... retrieve) without saying what a "legal basis" is or what the endpoint actually returns. It does not differentiate this from the many sibling purposes endpoints (privacy_purposes_retrieve, privacy_purposes_list, privacy_purposes_object_retrieve, privacy_purposes_article_9_condition_retrieve).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus the sibling privacy_purposes_retrieve, privacy_purposes_list, or privacy_purposes_article_9_condition_retrieve endpoints. The only usage signal is the vague "viewed or edited", which does not tell an agent which situation selects this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_purposes_listApi privacy purposes listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| processing | No | ||
| legal_basis | No | ||
| article_9_condition | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring readOnlyHint, idempotentHint and openWorldHint, the description adds no behavioral context at all — no pagination, filtering, or result-shape information. Its only sentence describes internal serializer behavior that is meaningless to a caller.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence, so not verbose, but it is front-loaded with internal jargon ('Override the list method', 'serializer context') rather than the user-facing action. Brevity here reflects missing content rather than tight writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Nine undescribed parameters, no output schema, and no annotation-derived explanation in the text; the description leaves almost every question an agent would have unanswered. For a paginated list endpoint with filters, this is grossly insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 9 parameters (id, limit, offset, search, ordering, max_pages, processing, legal_basis, article_9_condition) with 0% schema description coverage, and the description says nothing about any of them. The burden of explaining these undocumented parameters is entirely unmet.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an implementation note about overriding the list method and injecting data into the serializer context; it never states that the tool lists privacy purposes or what a caller would use it for. The resource is only inferable from the tool name, not the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus the many sibling list/retrieve endpoints (e.g. privacy_purposes_retrieve, privacy_purposes_object_retrieve), nor any prerequisites or exclusions. The agent has to guess entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_purposes_object_retrieveApi privacy purposes object retrieveCRead-onlyIdempotent
API endpoint that allows purposes to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, but the description says the endpoint allows purposes to be 'viewed or edited', implying write capability on a read-only tool. This is boilerplate DRF docstring text rather than a functional claim, but it still points the agent in the wrong direction and adds no real behavior context (no return shape, no 404-on-missing-id behavior).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no bloat, but the space it does occupy is spent on a misleading 'viewed or edited' clause rather than on a scoping fact. Brevity here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, the description still needs to say what a 'purpose' record is (a GDPR processing-purpose object in the privacy module) and what a successful call returns. Neither is present, and the edit hint actively conflicts with the read-only annotation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single `id` parameter has 0% schema description coverage, so the description carries the full documentation burden and says nothing about its type, format, or whether it is the numeric PK or the object's ref_id/str identifier. An agent receiving only this description has no guidance on how to form a valid id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint 'allows purposes to be viewed or edited', which loosely names a verb and resource but is essentially a restatement of the tool path in prose. It does not distinguish this 'object_retrieve' variant from the sibling ciso_assistant_api_privacy_purposes_retrieve or ciso_assistant_api_privacy_purposes_list, so an agent cannot tell which of the near-identical purpose tools to call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no prerequisites, and no mention of the sibling list/retrieve/update tools as alternatives. Worse, the note that purposes can also be 'edited' invites the agent to use this read-only tool for a write operation instead of ciso_assistant_api_privacy_purposes_update.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_purposes_partial_updateApi privacy purposes partial updateD
API endpoint that allows purposes to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idlempotentHint=false, so the safety envelope is partly covered. The description adds nothing about the fact that this is a partial (PATCH) mutation requiring an existing record id, what fields are mutable, or what happens to unspecified fields — and the word 'viewed' muddies whether it mutates at all.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, so nothing is wasted in a literal sense. However the brevity stems from under-specification rather than discipline; a single sentence that conveys no usable information is not an efficient definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with an opaque untyped `body` payload, no output schema, and autogenerated annotations. Given that complexity, the description should at minimum say it patches an existing purpose by id and describe the mutable fields; it does neither, leaving the agent unable to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across both parameters. The description does not explain that `id` identifies the purpose record or that `body` is an arbitrary free-form object of fields to patch — the single most important thing an agent needs here. Schema alone leaves the caller guessing what to put in `body`.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the endpoint name as 'allows purposes to be viewed or edited', which is boilerplate that could describe nearly every CRUD sibling in the privacy purposes family. 'Partial update' in the name is more specific than anything the description says, and 'viewed or edited' blurs a PATCH operation with a read.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this instead of ciso_assistant_api_privacy_purposes_update, _retrieve, _list, or _object_retrieve. With dozens of near-identical siblings in the privacy purposes namespace, this omission leaves the agent with no basis for selection beyond the name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_purposes_retrieveApi privacy purposes retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds one genuinely non-obvious behavioral detail — that unauthorized related fields come back masked — which prevents an agent from treating missing fields as absent data. However, it doesn't clarify what 'unauthorized' means or how missing/forbidden ids are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, and the most decision-relevant fact (masking) is front-loaded. Slight deduction because its brevity comes from omission rather than precision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve-by-id tool with no output schema and an undocumented parameter, the description should at minimum name the resource and describe the identifier. It omits both, and says nothing about not-found or permission-denied behavior, leaving real gaps for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter ('id') with 0% schema description coverage, so the description carries the full burden — yet it never mentions the id, its format (integer, UUID, ref), or that it selects the purpose to retrieve. The single-parameter baseline of 4 is not met because coverage is zero and nothing is compensated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action ('Return a single object') and the key modifier (masked fields), but never names the resource — it never says a privacy purpose. The agent must rely on the tool name to know what entity is being retrieved, which is the definition of a vague-but-inferable purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus its many close siblings (privacy_purposes_list, privacy_purposes_object_retrieve, privacy_purposes_cascade_info_retrieve). The single-object phrasing hints at a by-id lookup, but no alternative, prerequisite, or exclusion is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_purposes_updateApi privacy purposes updateCIdempotent
API endpoint that allows purposes to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that — no mention of what fields are replaced, whether unspecified fields are cleared, or any permission requirement — and its 'viewed' wording sits awkwardly against a write endpoint, though it does not strictly 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no wasted clauses, but its brevity comes from being generic rather than from being front-loaded with useful content; there is no scoping or outcome information to lead with.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint taking an unstructured `body` object with no output schema and no parameter documentation, the description should explain the expected payload shape and effect of the update. It says nothing, so an agent cannot call this tool correctly from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across two parameters: `id` has no description and `body` is an untyped open object with additionalProperties=true. The description supplies zero information about either, leaving an agent unable to construct the payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence restates the tool name in generic boilerplate form: 'allows purposes to be viewed or edited.' It names the resource (purposes) but conflates read and write, so it does not distinguish this update endpoint from the sibling retrieve, list, or partial_update tools on the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus ciso_assistant_api_privacy_purposes_partial_update, _retrieve, or _list. The word 'viewed' actively invites the wrong selection for a write-only endpoint, and no prerequisites (id required, full vs partial replacement) are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_right_requests_batch_action_createApi privacy right requests batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=false, idempotent=false and openWorld=true, so the safety profile is covered by structured fields. The description adds nothing behavioral beyond that, and notably fails to explain what the 'action' is, which objects are targeted, or why the input schema is an empty closed object despite being a batch mutation endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler and the verb front-loaded. Brevity is not the problem; the sentence simply carries almost no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world mutation endpoint with no output schema and an empty input schema, the description should at minimum state how target IDs and the action are supplied and what the call returns. It provides none of that, leaving an agent unable to invoke the tool safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero declared parameters puts this at the baseline of 4 by rule, but the schema is an empty object with additionalProperties=false, meaning the tool appears to accept no targets and no action payload. The description does not explain how objects or the action are conveyed, which is the one thing it should compensate for here, so it lands at 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description "Perform a batch action on multiple objects" restates the generic verb from the name without ever naming the resource (privacy right requests) or what 'batch action' means (create/update/delete/link). It is identical boilerplate shared by dozens of sibling *_batch_action_create tools, so an agent cannot distinguish it from ciso_assistant_api_privacy_right_requests_update or any other batch sibling by reading it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use bulk handling versus the single-object siblings (privacy_right_requests_update / partial_update / destroy), no prerequisites, and no note on limits or expected payload shape. Usage is only inferable from the trailing '_batch_action_create' in the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_right_requests_cascade_info_retrieveApi privacy right requests cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 nothing beyond that: it does not explain what the preview shows, whether it is computed on the fly, or what the response contains, so it contributes essentially no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extreme under-specification rather than conciseness: a two-word fragment with a dangling colon that conveys no actionable information. It is short but not efficient, since nothing is actually communicated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool in a very large sibling set (dozens of *_cascade_info_retrieve and *_retrieve variants), the description provides nothing to disambiguate it, no meaning for the required id, and no indication of the return value. It is not complete enough to inform a correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter (id) at 0% description coverage, and the description does not explain what id refers to or whose cascade is being previewed. With a single undocumented parameter the description needed to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment that gestures at a preview of cascade behavior but never names the resource (privacy right requests) or what is being previewed. An agent must reconstruct the purpose from the tool name alone; the description itself is close to a restatement of the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool, what a cascade is, or how it relates to siblings like privacy_right_requests_retrieve or _list. The description is a truncated label with no usage condition at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_right_requests_createApi privacy right requests createD
API endpoint that allows right requests to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that and actively muddies the picture by framing the endpoint as 'viewed or edited', implying read capability that is not what this route does. No mention of required fields, permissions, or what happens on duplicate submission for a non-idempotent create.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence, but brevity here reflects under-specification rather than economy. The single sentence is boilerplate that could be attached to any endpoint in this API and carries no tool-specific signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A create operation with an opaque body parameter, no output schema, and only boilerplate annotations needs the description to carry nearly all the load, yet it discloses nothing about the resource, the payload, or the result. An agent cannot call this correctly from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one free-form 'body' object parameter with 0% schema description coverage and no additionalProperties constraints, so the schema gives the agent essentially nothing to work with. The description does not name a single field (request type, status, owner, subject, dates) that the body must contain, leaving the agent to guess the payload shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title with generic Django REST Framework boilerplate: 'allows right requests to be viewed or edited.' It never says the tool creates a privacy right request, which is what the name and the '_create' suffix promise. An agent reading only the description would think this is a retrieve/update endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all, and no mention of the obvious alternatives in the sibling list (privacy_right_requests_list, _retrieve, _update, _partial_update, _destroy). Nothing tells the agent when creating is preferable to updating or listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_right_requests_destroyApi privacy right requests destroyDDestructiveIdempotent
API endpoint that allows right requests to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, but the description frames the endpoint as one where records are 'viewed or edited,' giving no hint that a record is permanently removed. With annotations present, the description should at minimum confirm irreversibility; instead it suggests a non-destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence, but brevity does not help because the sentence conveys the wrong operation. There is no front-loaded statement of the destructive action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent-looking delete with no output schema and an undocumented id, the description supplies nothing an agent needs: not the target resource, not the effect, not error behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required 'id' parameter has 0% schema description coverage, and the description adds nothing about it – not whether it is the right-request UUID, its format, or what happens if the id does not exist. This is a case where the description must compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint 'allows right requests to be viewed or edited,' which describes read/update behavior rather than the deletion this tool actually performs. It restates generic DRF boilerplate and never states that a privacy right request is deleted by id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus the many sibling right-request endpoints (retrieve, list, object_retrieve, update, partial_update, batch_action_create, cascade_info_retrieve). The agent gets no signal about when deletion is appropriate or what prerequisite state is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_right_requests_listApi privacy right requests listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| limit | No | ||
| owner | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| ordering | No | ||
| max_pages | No | ||
| processings | No | ||
| request_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorld, so the safety profile is covered. The description adds nothing beyond that — no mention of pagination, filtering behavior, auth requirements, or what 'optimized data' means for the caller — and its serializer-internals framing is developer jargon rather than agent-facing context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but conciseness only counts when the content earns its place. Here the one sentence is an implementation note that conveys no actionable information to an agent, so brevity does not compensate for being uninformative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 12-parameter list endpoint with zero parameter documentation and no output schema needs the description to carry the burden, and it does not. Nothing about filtering, pagination, or return shape is disclosed, making the definition inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 12 parameters (id, name, limit, offset, search, status, ordering, max_pages, processings, request_type, owner, folder) at 0% description coverage, and the description explains none of them. It does not clarify that limit/offset control pagination, what max_pages does, or how the filter fields combine.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text 'Override the list method to inject optimized data into the serializer context' describes an internal Django implementation detail rather than the tool's purpose. It never states that this retrieves privacy right requests, so an agent cannot tell what resource is being listed or distinguish it from the many other *_list siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool, when to prefer ciso_assistant_api_privacy_right_requests_object_retrieve or the request_type/status/owner variants, or what prerequisites exist. The sentence gives only implementation rationale, leaving all selection decisions to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_right_requests_object_retrieveApi privacy right requests object retrieveDRead-onlyIdempotent
API endpoint that allows right requests to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, but the description says the endpoint allows right requests to be 'edited,' implying write capability. That directly contradicts the read-only annotation, and the description adds no other behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted length, but its brevity comes at the cost of omitting the actual retrieve operation and including a misleading 'edited' clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieve tool, annotations cover the read-only safety profile, but the description neither states that it fetches a single privacy right request by id nor resolves the view/edit contradiction. It is not complete enough for reliable selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required 'id' parameter with 0% description coverage, and the description never explains that this is the privacy right request identifier. It 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description mentions right requests and says they can be 'viewed or edited,' but the tool is an object retrieve-by-id endpoint. The 'edited' wording blurs the verb and does not clearly distinguish this from privacy_right_requests_retrieve, list, update, or partial_update siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this retrieve endpoint versus the list or update siblings, and no mention that an existing privacy right request id is required. The agent is left to infer all routing from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_right_requests_owner_retrieveApi privacy right requests owner retrieveCRead-onlyIdempotent
API endpoint that allows right requests to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true and destructiveHint=false, but the description claims the endpoint allows right requests to be 'edited', which implies mutation. This directly contradicts the read-only annotation and gives no genuine behavioral detail beyond it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is concise. However, the brevity comes at the cost of substance — the one sentence is boilerplate rather than a front-loaded statement of what the tool returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining what a caller receives, and it fails to do so — it never clarifies what an 'owner' result for a privacy right request contains or how it differs from the base retrieve. For a zero-parameter read endpoint this is a significant omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The empty schema and additionalProperties=false leave no ambiguity about the call shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates generic DRF boilerplate ('allows right requests to be viewed or edited') without explaining what the 'owner' sub-resource of this endpoint actually returns. It does not distinguish this tool from the many adjacent siblings such as privacy_right_requests_retrieve, _list, _object_retrieve, or _request_type_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given; an agent cannot tell whether to call this instead of privacy_right_requests_retrieve or _object_retrieve. The only implied usage ('view right requests') is too generic to route between siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_right_requests_partial_updateApi privacy right requests partial updateD
API endpoint that allows right requests to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the description's only added claim is that the resource can be "viewed," which does not match a mutation endpoint. It says nothing about what a partial update leaves untouched, permission requirements, or the fact that the `body` payload is free-form.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, so there is no bloat, but it is boilerplate that conveys no operational information. Brevity here is under-specification rather than economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint taking an identifier plus an arbitrary JSON body, with no output schema and no annotations covering authorization or side effects. The description does nothing to close any of those gaps, leaving the agent unable to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters. The `body` property is an unconstrained object with `additionalProperties: true`, and the description gives no hint of what fields belong in it — the single most important thing an agent needs here. It compensates for none of the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint that allows right requests to be viewed or edited" restates the tool name rather than describing a specific operation. It also conflates viewing and editing, so an agent cannot tell how this differs from the sibling `_retrieve`, `_update`, or `_partial_update` tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the plain update, the retrieve, or the list endpoint. There are no prerequisites, no exclusions, and no mention that this is a partial (PATCH-style) mutation as the name implies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_right_requests_request_type_retrieveApi privacy right requests request type retrieveCRead-onlyIdempotent
API endpoint that allows right requests to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, but the description claims the endpoint allows right requests to be "edited" — a write capability that directly contradicts the read-only annotation. Beyond that conflict it adds nothing about auth, scoping, or what is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no padding, but it is boilerplate rather than front-loaded substance — there is nothing meaningful to front-load because the sentence carries almost no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place an agent could learn what this endpoint returns (presumably the enumerated request-type values). It supplies none of that, so an agent cannot tell what it will get back or how to use the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; there is nothing for the description to disambiguate beyond noting that no identifier or filter is needed, which the empty schema already conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint that allows right requests to be viewed or edited" is generic boilerplate that restates the resource name without saying what this particular endpoint returns. Given the name (`request_type_retrieve`), an agent would expect the set of selectable request types, but the description never mentions request types, choices, or lookup values, nor does it distinguish this from siblings like `privacy_right_requests_retrieve` or `privacy_right_requests_status_retrieve`.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the many sibling right-request endpoints (list, retrieve, object_retrieve, status_retrieve, owner_retrieve). The phrase "viewed or edited" gives no selection criteria and no prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_right_requests_retrieveApi privacy right requests retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorld, so the safety profile is covered. The description adds genuinely new behavior: unauthorized related fields are masked in the response, which tells the agent to expect partial/null data and not to treat it as corrupted — a useful disclosure 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with zero waste, but the masking behavior is stated before the tool's core resource identity, so the sentence is under-specified rather than front-loaded on what is being retrieved.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations beyond the safety profile, so the description must carry more. It covers the notable masking twist but omits id format/source and any hint of the returned fields, leaving gaps for a one-parameter read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter (id) with 0% schema description coverage, so the schema provides no meaning. The description does not say what the id is (UUID, integer, ref_id), where to obtain it, or whether it must be a privacy right request id rather than an object/owner id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns a single object, which is a generic retrieve verb, but never names the resource (privacy right request) — that information lives only in the tool name. With many *_retrieve siblings (privacy_right_requests_object_retrieve, _list, etc.), there is no differentiation of when this one applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus the sibling privacy_right_requests_object_retrieve, privacy_right_requests_list, or privacy_right_requests_cascade_info_retrieve. 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.
ciso_assistant_api_privacy_right_requests_status_retrieveApi privacy right requests status retrieveCRead-onlyIdempotent
API endpoint that allows right requests to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, but the description says the endpoint allows right requests to be 'edited', implying write capability. That directly conflicts with the read-only annotation and gives an agent no accurate picture of the call's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is not bloated; however brevity here comes from under-specification rather than from precise wording, since the sentence conveys no operation-specific information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations covering return data, and zero parameters, the description is the only source of information about what comes back, and it says nothing about the status payload. For an enumeration endpoint, the agent has no idea whether it receives a list of strings, objects, or a single record.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case. The description adds nothing about parameters, but with an empty schema there is nothing that needs compensating.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate: 'API endpoint that allows right requests to be viewed or edited' restates the resource name without stating the specific operation. The tool name promises a status enumeration ('status_retrieve'), yet the prose never mentions statuses or what this endpoint returns, so an agent cannot distinguish it from the sibling _retrieve, _list, or _update endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no alternatives named, and no hint that this endpoint is a lookup of allowed status values rather than a record fetch. The only guidance-like phrase ('viewed or edited') points in the wrong direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_privacy_right_requests_updateApi privacy right requests updateCIdempotent
API endpoint that allows right requests to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
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 safety profile is covered; the description adds nothing about payload semantics, required permissions, or what happens to unspecified fields on a full update. Mentioning it "allows right requests to be viewed" also works against the non-readOnly annotation, though not to the level of a hard contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so nothing is wasted — but it is under-specified rather than efficient, spending its one clause on generic "viewed or edited" phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with 0% parameter documentation, no output schema, and a free-form body, the description should say what fields the body accepts and how it differs from partial_update. None of that is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description gives no meaning for either parameter. The required `id` is self-evident, but `body` is an untyped free-form object whose expected contents (right request fields) are left entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint that allows right requests to be viewed or edited" restates the tool name/title in generic DRF boilerplate rather than describing what an update does. "Viewed or edited" blurs the distinction from the sibling retrieve/partial_update tools, so an agent cannot tell from the text what this call actually changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this full update versus ciso_assistant_api_privacy_right_requests_partial_update, retrieve, or create. The word "viewed" even implies read usage that belongs to the retrieve sibling, with no exclusion stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_question_choices_batch_action_createApi question choices batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is known. The description adds nothing beyond that: it does not say what operations a batch action supports, whether it is all-or-nothing on partial failure, or what authorization is required for a non-idempotent write.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, so nothing is bloated. But the brevity is under-specification rather than efficiency: the single sentence carries no front-loaded scope, resource, or alternative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent batch mutation with an empty input schema and no output schema, the description leaves the agent unable to construct a call at all. Against a sibling list containing dozens of identically described batch_action tools, it provides no way to confirm the agent has chosen the right one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero properties with additionalProperties=false, so coverage is nominally 100% but vacuous. A batch action realistically needs an id list and an action selector, and 'on multiple objects' is the only hint the description gives; it never explains the payload shape, so it fails to compensate for what looks like an incomplete schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Perform a batch action on multiple objects', which is close to a restatement of the tool's own suffix ('batch_action_create'). It never names the resource the action applies to (question choices), so it cannot be distinguished from the ~100 sibling tools with the same generic wording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the per-object siblings (question_choices_create/update/partial_update) or versus other batch_action tools. No prerequisites, no indication of what 'batch action' means here, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_question_choices_cascade_info_retrieveApi question choices cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that — it doesn't explain what a "cascade" response contains (dependent objects? deletion side effects? hierarchy?) or whether it is a dry-run preview of a destructive cascade.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words is not concision but under-specification; there is no front-loaded statement of what the endpoint does. Nothing wasteful, but nothing substantive either.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, an opaque required id, and no annotation alternatives, the description is the only channel for explaining the response shape and it is empty. An agent cannot determine what it will receive or how to interpret the cascade result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter id has 0% schema description coverage, and the description does not compensate at all: it never says whether id refers to a question choice, a parent question, or another cascaded object. This is the only required input and its meaning is entirely ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" restates a fragment of the tool name rather than describing an action on question choices. It does not say what the cascade preview is, what entity it previews (a choice? a question?), or what output to expect, so an agent cannot confidently distinguish it from the dozens of other *_cascade_info_retrieve siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this instead of ciso_assistant_api_question_choices_retrieve, question_choices_object_retrieve, or any other cascade_info tool. The single word "preview" hints at nothing operationally useful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_question_choices_createApi question choices createD
API endpoint for QuestionChoice CRUD.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so safety is covered structurally. The description adds nothing beyond that: no note on required payload fields, what gets persisted, how the choice links to its parent Question, or error behavior for non-idempotent retries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, but brevity here comes from under-specification rather than discipline. Nothing is front-loaded because there is nothing substantive to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque free-form body, no output schema, and no parameter documentation, the description leaves an agent unable to construct a valid call or predict the effect. Annotations cover only the safety profile; everything else is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole 'body' parameter is an untyped object with 0% schema description coverage, and the description provides no indication of what fields belong in it. With a low-coverage schema the description is required to compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the resource (QuestionChoice) but describes it as generic 'CRUD', which does not distinguish this create endpoint from the sibling list/retrieve/update/destroy tools. The name says 'create' but the description never states that a new choice is created.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance whatsoever, and no mention of alternatives such as question_choices_update or question_choices_partial_update. Calling it a 'CRUD' endpoint actively suggests it may serve read/update/delete purposes, which is misleading for a create-only route.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_question_choices_destroyApi question choices destroyCDestructiveIdempotent
API endpoint for QuestionChoice CRUD.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is known without the description. The description adds nothing beyond that: it does not say whether the delete is hard or soft, what happens to dependent objects (answers referencing this choice), or what a repeat call returns given idempotency. Because annotations carry the main signal, this is a low-value addition rather than a contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no wasted words, but that is under-specification rather than conciseness: the single sentence communicates nothing beyond the name and adds no front-loaded operational detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world endpoint with no output schema and an undocumented id parameter, the description should at minimum identify the entity being removed and the effect of the call. Annotations cover the mutation/irreversibility profile, which keeps this from being a 1, but the description leaves the agent guessing about the target resource and outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required "id" parameter. The description gives no hint whether this is a QuestionChoice UUID, a question id, or a composite key, and provides no format example — the schema only says type string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title/name category ("API endpoint for QuestionChoice CRUD") rather than stating the specific operation. It never says this deletes a QuestionChoice; the agent must infer deletion from the "destroy" suffix in the name. Worse, "CRUD" is a superset that is misleading for a single-operation endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus the sibling question_choices_* tools (create, list, retrieve, update, partial_update, batch_action) or versus ciso_assistant_api_request. No prerequisites, no warning about confirmation, no mention of what to call first to identify the right id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_question_choices_listApi question choices listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| urn | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| question | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and non-destructive behavior, so the description carries a lower burden. Instead of adding pagination behavior, return shape, or filtering semantics, it spends its only sentence on internal serializer plumbing that means nothing to a caller.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no bloat, but that sentence is front-loaded with an internal implementation detail rather than the user-facing operation. Conciseness without useful content does not earn the score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 undocumented parameters, no output schema and no annotations explaining filtering or pagination, the description leaves an agent unable to call the tool correctly. Nothing compensates for the schema gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 8 parameters at 0% description coverage, including limit, offset, search, ordering and question. The description explains none of them, leaving search syntax and ordering fields entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an implementation note about overriding the list method to inject data into a serializer context, not a statement of what the tool returns. It never says it lists question choices, nor how it differs from siblings like question_choices_retrieve or question_choices_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives (question_choices_object_retrieve, question_choices_cascade_info_retrieve), and no prerequisites. An agent must infer everything from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_question_choices_object_retrieveApi question choices object retrieveCRead-onlyIdempotent
API endpoint for QuestionChoice CRUD.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, and the description adds nothing beyond them. Worse, the phrase "CRUD" gestures at write capability, which is at odds with the read-only profile the annotations declare, though it is too vague to count as an outright contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is concise in the literal sense. However, brevity here comes from under-specification rather than tight phrasing, and the one clause present is front-loaded but uninformative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve-by-id tool with no output schema, the description should say that a single QuestionChoice record is returned (and roughly what it contains). Neither the return value nor the per-object nature of the call is conveyed, so an agent must infer the semantics entirely from the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter (id) has 0% schema description coverage, and the description does not say what the id identifies, what format it takes, or whether it is a QuestionChoice UUID or a question-scoped identifier. With no description-side compensation, the agent is left to guess the identifier format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint for QuestionChoice CRUD" essentially restates the resource already named in the title and tool name, and says nothing about what this specific variant does (fetch a single QuestionChoice by id). Because the sibling set contains question_choices_list, _create, _destroy, _partial_update, _update and _retrieve, the generic "CRUD" label cannot distinguish this tool from any of them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many question_choices siblings. In fact, saying "CRUD" implies the endpoint can create, update and delete, which could lead an agent to pick it for a mutation that a different sibling handles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_question_choices_partial_updateApi question choices partial updateD
API endpoint for QuestionChoice CRUD.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-readOnly, non-destructive, non-idempotent, open-world mutation. The description adds no behavioral context such as which fields are mutable, whether omitted fields remain unchanged, or what authorization is required. It does not contradict the annotations, but it contributes nothing beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short, but it is under-specified rather than concise. It spends its only sentence on a generic 'CRUD' label that does not help an agent invoke the tool correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with two parameters and no output schema, the description should at minimum identify the operation and payload semantics. Instead it provides only the resource name and 'CRUD', leaving critical invocation details completely absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two parameters. The description mentions no parameters at all and does not explain that 'id' identifies the target QuestionChoice or that 'body' contains the partial update payload. An agent must guess the meaning and structure of the body object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the resource name and the generic acronym 'CRUD' without identifying the specific operation. It does not distinguish this partial-update endpoint from sibling operations like create, destroy, list, or retrieve, so an agent cannot tell what this tool uniquely does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no comparison to alternatives. The agent is left to infer that 'partial update' means modifying an existing QuestionChoice from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_question_choices_retrieveApi question choices retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description's one real contribution beyond that is that unauthorized related fields are masked in the response – a genuine output-shaping behavior an agent must know when interpreting missing data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, front-loaded and free of padding, but it omits the essential subject of the operation. It is terse without being informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should describe the returned object and its masking behavior in more depth, and it should identify the resource being fetched. For a retrieval tool with an undocumented id parameter and no sibling differentiation, this is too thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions the single required 'id' parameter, its type, or that it identifies a question choice. With no compensating explanation, the agent gets nothing about parameters from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it returns 'a single object' – the resource (a question choice) is inferable only from the tool name and is never stated. It does not distinguish this from the many sibling retrievers such as ciso_assistant_api_question_choices_object_retrieve or ciso_assistant_api_questions_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, what it requires (a valid question-choice id), or how it differs from the list/object_retrieve siblings. The only implied guidance is 'single object', which at least rules out bulk listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_question_choices_updateApi question choices updateCIdempotent
API endpoint for QuestionChoice CRUD.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that — no mention of whether omitted fields are cleared (full replace vs partial), permission requirements, or what happens to choices attached to questions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so nothing is wasted — but it is under-specified rather than concise, and there is no front-loaded verb or scope detail to anchor it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with undocumented free-form body, no output schema, and 0% schema coverage requires the description to carry real weight. 'API endpoint for QuestionChoice CRUD' tells an agent essentially nothing needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two parameters. The 'body' parameter is a free-form object with additionalProperties:true, meaning the schema gives no hint about which QuestionChoice fields are accepted, and the description does not compensate at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the name and title: 'QuestionChoice CRUD' names the resource but the tool is specifically the update operation, which only the tool name conveys. It does not distinguish this from the numerous sibling question_choices endpoints (create, destroy, partial_update, retrieve, list).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus ciso_assistant_api_question_choices_partial_update or the batch_action_create sibling. An agent must infer from the suffix alone that this is a full update requiring a complete body.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_questions_batch_action_createApi questions batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true. The description adds nothing beyond the name — it does not say what actions can be performed (create/update/delete?), what happens to the objects, or what a batch operation entails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence with no filler, but it is under-specified rather than efficiently concise. It is not front-loaded with the resource or action type.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write-oriented batch action on questions, the description provides no information about payload shape, supported actions, or effects. With zero schema properties and no output schema, the description needed to carry the burden and does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so per the baseline rule a 4 is appropriate. There is no parameter content for the description to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a generic template reused across dozens of batch_action_create siblings: 'Perform a batch action on multiple objects.' It never states that the objects are questions, so an agent cannot distinguish it from ciso_assistant_api_answers_batch_action_create or any other sibling without reading the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisites, or alternative suggestions are given. The description is identical in form to every other batch action tool, leaving the agent to infer that this one applies to questions only from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_questions_cascade_info_retrieveApi questions cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld, so safety is covered. The description adds nothing further: it doesn't say whether this is a dry-run style preview, what dependency traversal it performs, whether it's side-effect-free by design, or how large the result can be. "Preview" is the only behavioral hint and it is left unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is a truncated fragment rather than a concise statement, so brevity comes from under-specification rather than economy. There is no front-loaded verb or object an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameter documentation, and no annotation-independent detail, an agent cannot infer the return shape, the meaning of the id, or when the result would be useful. The definition is not adequate for invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter id is completely undocumented; the description never mentions it or what entity it identifies. The description does nothing to compensate for the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a two-word fragment that largely restates the tool name (questions cascade info retrieve) rather than describing the operation. It hints that something is previewed for a question, but never says what cascade information is returned or what the tool actually does with the id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no exclusions, and no mention of the many siblings that offer similar cascade-info retrieval (journeys, assets, frameworks, etc.). The agent is given nothing to decide between this and a plain questions_retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_questions_createApi questions createD
API endpoint for Question CRUD.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that — no mention of required permissions, what the body must contain, validation failures, or what a successful create returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single six-word sentence is short but not efficient, since it conveys almost no information. This is under-specification rather than conciseness — the one sentence present does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a write tool with an opaque free-form body, no output schema, and no annotations beyond generic hints. An agent cannot determine the required payload or the effect of calling it, making the definition insufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the sole parameter is an untyped 'body' object with additionalProperties=true. The description provides no field names, no required fields, and no payload shape for creating a Question, leaving the agent with no way to construct a valid call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name almost verbatim ('API endpoint for Question CRUD') without specifying that this particular endpoint creates a Question. Listing 'CRUD' generically is actively unhelpful given siblings named questions_list, questions_retrieve, questions_update, questions_partial_update, and questions_destroy, which each cover one of those CRUD operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus questions_update, questions_partial_update, or questions_create alternatives such as the batch action endpoint. The verb 'create' is only inferable from the tool name, not from the description text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_questions_destroyApi questions destroyDDestructiveIdempotent
API endpoint for Question CRUD.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, openWorldHint=true and readOnlyHint=false, so the safety profile is known structurally. The description adds nothing beyond that — it does not state permanence of deletion, whether related question_choices are cascaded/removed, or what happens when the id is missing or already deleted. 'CRUD' actively obscures the destructive nature the annotations flag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single seven-word sentence is short, but brevity here is under-specification rather than conciseness. Nothing is front-loaded about the destructive action, and the one sentence conveys no actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an irreversible delete on a nested resource with no output schema, the description should mention cascade effects on dependent objects and confirm the id type. Neither is present; only the annotations rescue the agent from deleting blind.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter (id) with 0% schema description coverage, and the description says nothing about it. It does not clarify that id is the Question's UUID rather than a reference, a QA question, or a chat questionnaire question — a real ambiguity given sibling resources like chat_questionnaire_questions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description reads 'API endpoint for Question CRUD,' which merely restates the resource name without naming the operation. The actual verb (destroy/delete) is only recoverable from the tool name and title, not from the description text. An agent cannot distinguish this from ciso_assistant_api_questions_retrieve, _update, or _partial_update by reading the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to invoke this tool versus the many sibling question tools (create, list, retrieve, update, batch_action). No preconditions, no warning to prefer soft-delete or update instead, no mention of required confirmation or permissions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_questions_listApi questions listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| urn | No | ||
| type | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| requirement_node | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so safety is covered. The description adds nothing beyond them — 'inject optimized data into serializer context' is an internal concern and gives no information about result shape, page size, or sorting behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from being under-specified rather than efficient. The single sentence is back-loaded with internal jargon and conveys no actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A nine-parameter list endpoint with no output schema, no parameter documentation, and no pagination or filtering description. Nothing is provided to let an agent call this correctly; the definition is effectively unusable beyond guessing it returns a list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Nine parameters at 0% schema description coverage, and the description explains none of them. It never mentions limit/offset, search, ordering, or requirement_node, so an agent has to guess at filters and pagination semantics — precisely the case where the description must compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description reads as an internal developer note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does for a caller. Only the name/title reveal that it lists questions; the sentence itself describes implementation mechanics, not the resource or action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus the many siblings such as ciso_assistant_api_questions_retrieve, questions_object_retrieve, or question_choices_list. No prerequisites, no filtering guidance, nothing an agent could route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_questions_object_retrieveApi questions object retrieveCRead-onlyIdempotent
API endpoint for Question CRUD.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that boilerplate, and its "CRUD" phrasing is imprecise for a read-only GET, though it describes the endpoint family rather than directly claiming a mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no wasted clauses, but it is thin to the point of under-specification rather than genuinely efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with full annotation coverage and no output schema, the definition is minimally sufficient to attempt a call, but it omits the id's meaning and any differentiation from the numerous sibling Question retrieve/list endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description says nothing about the sole required parameter "id" — no statement that it is the Question's identifier, its format (string/UUID), or what happens when it does not exist. The single obvious id argument makes the gap small, but the description does not compensate for it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint for Question CRUD" names the resource (Question) but describes the whole CRUD family rather than this specific operation. The word "CRUD" is boilerplate that does not tell an agent this is a read-by-id call, and it fails to distinguish this tool from the many sibling Question endpoints (questions_list, questions_retrieve, questions_object_retrieve).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives such as questions_list (to enumerate) or questions_retrieve. An agent must infer usage purely from the tool name, and the description offers no conditions, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_questions_partial_updateApi questions partial updateD
API endpoint for Question CRUD.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare write semantics (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), so the safety profile is covered. The description adds nothing beyond that: it does not explain that only supplied fields change, whether omitted fields are preserved or reset, what permissions are needed, or what happens on a missing id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, but the brevity reflects under-specification rather than efficiency. It conveys nothing an agent could act on beyond what the name already says.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque payload object, no output schema, and no annotation detail on side effects, the description is entirely inadequate. Essential facts such as the payload shape, partial-update semantics, and error behavior are all absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description provides no parameter information at all. The critical 'body' parameter is an untyped free-form object with additionalProperties true, so an agent has no way to learn which Question fields belong there without trial and error. The description does not compensate for the coverage gap in any degree.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name at a higher level: 'API endpoint for Question CRUD' plus 'partial update' in the name. It never specifies that this is a PATCH-style operation updating an existing Question, nor which fields of a Question are affected. Against siblings like questions_update, questions_create, questions_destroy and questions_retrieve, it gives no distinguishing signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this instead of questions_update (full update), questions_create, or questions_object_retrieve. The word 'CRUD' actively blurs the choice rather than narrowing it. No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_questions_retrieveApi questions retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds one genuinely useful behavioral fact: unauthorized related fields are masked, so the returned payload may be partial depending on the caller's permissions. It omits what happens when the id does not exist or is inaccessible (404 vs 403).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or repetition. It is efficient but under-specified rather than wasteful, so no penalty for verbosity applies.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve-by-id tool with no output schema, the description should at minimum identify the resource and note the permission/masking implications for consumers of the result. It conveys the masking caveat but never states what is being retrieved, leaving the fundamental question of the call unanswered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter 'id' with 0% schema description coverage; the schema gives only 'type: string'. The description neither names the parameter nor says which entity's id it is, though for a one-parameter retrieve the intent is inferable from the tool name. Baseline 3 is appropriate for a trivially small input contract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Return a single object', which restates the 'retrieve' verb in the tool name without naming the resource (questions) or the identifier semantics. The masking clause is behavioral detail, not a purpose statement. An agent must fall back on the tool name to know what object is being fetched.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. In a sibling set containing questions_list, questions_object_retrieve, questions_cascade_info_retrieve and questions_batch_action_create, the description offers nothing to distinguish a single-resource fetch-by-id from a list or an 'object' variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_questions_updateApi questions updateCIdempotent
API endpoint for Question CRUD.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond them (no statement about which fields are replaced, whether omitted fields are cleared, or whether the referenced Question must exist) and the blanket "CRUD" wording is imprecise for a single update endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, so there is no verbosity problem. However the brevity is under-specification rather than economy: the one sentence carries no actionable content an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutating endpoint with an untyped, undocumented body, no output schema, and several close siblings; the definition provides none of the missing context (body shape, update semantics, id requirements). Inadequate for the complexity of the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the only payload parameter is a free-form object with additionalProperties=true, so the description is the only place field expectations could be conveyed — yet it says nothing. An agent gets no hint about which Question fields the body accepts or what id refers to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint for Question CRUD" only names the resource; it never says this endpoint updates a Question, and "CRUD" is a family label that could equally describe questions_create, questions_destroy, questions_list or questions_retrieve. Against siblings like questions_partial_update (also present) the definition gives the agent no basis for choosing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no distinction between full update (PUT-style) and questions_partial_update (PATCH-style), and no prerequisites or exclusions mentioned. The agent must infer usage purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_quick_start_createApi quick start createD
api_quick_start_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already state readOnlyHint=false, idempotentHint=false, openWorldHint=true, and destructiveHint=false, so the agent knows this is a non-idempotent, open-world write. The description adds nothing on top: no side effects, no auth/permission prerequisites, no notion of what state is created or whether repeats duplicate data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is certainly short, but the brevity is pure under-specification rather than efficiency; the entire text is a redundant restatement of the identifier, with no front-loaded purpose statement to anchor a reader.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an open-world, non-idempotent create operation taking an untyped body and with no output schema, the description should carry nearly all the semantic load. It carries none, so an agent cannot safely call this tool without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single `body` parameter is a free-form object with additionalProperties=true and 0% schema description coverage, so the schema conveys almost nothing. The description supplies no hint about what fields the body should contain, leaving the agent with zero guidance on a required-to-work payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal tool name in snake_case ("api_quick_start_create") and adds no verb, resource, or object beyond it. It doesn't tell the agent what is being created or in which domain, and the sibling list contains hundreds of similarly opaque operation IDs that this string does nothing to disambiguate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative named. The agent has no basis for choosing this over siblings such as ciso_assistant_api_settings_global_create or any other create tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_reference_controls_batch_action_createApi reference controls batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), so the bar is lower. The description adds nothing beyond that: it does not say what 'action' means, that a payload presumably selects the action and target IDs, or what happens on partial failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, but it is vacuous rather than efficient: nothing distinguishing is front-loaded because nothing substantive is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world batch mutation on reference controls with no output schema and an empty input schema, the definition leaves critical questions unanswered: what actions are supported, what gets affected, and what the response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema declares zero properties with additionalProperties=false, so there are no parameters for the description to explain; by the 0-param baseline this would be a 4. However, a batch action logically requires a payload, and the description does not clarify how the action type and target objects are supplied, leaving a real ambiguity the schema does not resolve.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a tautology that restates the generic 'batch action' concept without naming the resource: it never says these are reference controls. With hundreds of sibling `*_batch_action_create` tools, an agent cannot tell from this text which object type is affected, so differentiation comes only from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus updating controls individually via `reference_controls_partial_update`/`update`, or versus listing/creating controls. Nothing about prerequisites, batch size limits, or exclusions is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_reference_controls_cascade_info_retrieveApi reference controls cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 known. 'Cascade' implies some impact analysis, but the description does not disclose what cascade means here (deletion impact on applied controls? on requirements?), so it adds almost no 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words plus a trailing colon is not conciseness but under-specification; there is no front-loaded statement of purpose and nothing else to structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A read-only, single-parameter retrieve with no output schema could be adequately described in one sentence, but this definition never explains what the preview contains or how an agent should interpret the response, leaving the call under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single required `id`, and the description does not say what entity that id identifies (a reference control, presumably) or any format expectations. Only the name hints at it, so the description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment "Cascade preview:" – it hints at a preview of cascade effects but never states the resource (reference controls), the verb, or what the preview returns. Against ~50 sibling *_cascade_info_retrieve tools, an agent cannot tell which object type this previews without parsing the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus the many other cascade_info or retrieve endpoints, no prerequisites, no mention of how the id is obtained. The colon even suggests truncated text, offering nothing actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_reference_controls_category_retrieveApi reference controls category retrieveCRead-onlyIdempotent
API endpoint that allows reference controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true and destructiveHint=false, but the description says reference controls can be 'edited,' implying a write operation. This direct conflict means the description contradicts the structured safety metadata rather than adding useful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single short sentence, so it is not bloated. However, the sentence is generic and misleading rather than informative, so its brevity does not earn a higher score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter retrieve endpoint, the description should at least identify the 'category' resource and align with the read-only annotations. Instead it omits 'category' and contradicts read-only behavior, leaving an agent without enough reliable context 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters and schema coverage is 100%, so there is no parameter meaning for the description to compensate for. The description adds no parameter detail, but none is needed in this case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it is an 'API endpoint' for reference controls 'viewed or edited,' which does not identify the 'category' resource named in the tool or clarify whether it reads or writes. It also fails to distinguish this from sibling reference-control retrieval tools such as reference_controls_retrieve and reference_controls_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no named alternative among the many sibling tools. The phrase 'viewed or edited' does not help an agent decide when this specific category endpoint should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_reference_controls_createApi reference controls createD
API endpoint that allows reference controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and openWorldHint=true, i.e. a non-read, non-idempotent write, while the description frames the endpoint as one that lets reference controls be 'viewed'. The description contradicts the annotations instead of adding context such as required permissions or what gets persisted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, so not bloated, but it is filler copied from a generic API index rather than a front-loaded statement of purpose. Brevity here comes from under-specification, not economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with a fully undocumented body and no output schema needs the description to explain payload and consequences; the description explains neither and misdescribes the operation. Essentially nothing an agent needs in order to call it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'body' parameter is a free-form object with no documented fields anywhere. The description adds nothing about payload shape, required keys, or which reference-control fields can be supplied, leaving the agent with no way to construct a valid request.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text restates the tool name ('API endpoint... reference controls') and says it allows records to be 'viewed or edited', which does not state that this tool creates a reference control. It also fails to distinguish it from the long list of sibling reference_controls_* tools (list, retrieve, update, partial_update, destroy).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the siblings. Worse, 'viewed or edited' points an agent toward reading/updating semantics, which is the wrong action for a create endpoint, actively steering selection away from the correct tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_reference_controls_csf_function_retrieveApi reference controls csf function retrieveCRead-onlyIdempotent
API endpoint that allows reference controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, destructiveHint=false and idempotentHint=true, yet the description says the endpoint 'allows reference controls to be viewed or edited', implying write capability on a GET-only retrieve. This directly contradicts the structured safety metadata and could lead an agent to attempt a mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, so nothing is bloated, but it is boilerplate that carries no tool-specific information. Brevity here reflects under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description was the only place to say what this retrieve returns (presumably the list of CSF function choices for reference controls). It says nothing about the return shape, and the 'or edited' phrasing leaves the agent unsure whether the call is safe.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema has nothing to document and the baseline is 4. Nothing in the description is needed to explain invocation, though it also adds no meaning about what the empty-input call yields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate ('API endpoint that allows reference controls to be viewed or edited') and never mentions the 'csf function' aspect that distinguishes this tool from the many sibling reference_controls_* endpoints (category_retrieve, provider_retrieve, object_retrieve). It restates a vague version of the name without stating what resource is actually returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this versus ciso_assistant_api_reference_controls_retrieve, _category_retrieve or _provider_retrieve. An agent has no signal that this endpoint most likely exposes the CSF-function enumeration values used to populate that field.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_reference_controls_destroyApi reference controls destroyDDestructiveIdempotent
API endpoint that allows reference controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, readOnlyHint=false, idempotentHint=true, openWorldHint=true, but the description frames the endpoint as one that 'views or edits' records. This directly understates a destructive deletion and gives no warning about irreversibility, cascading references, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not bloated, but the sentence is generic boilerplate that conveys no actionable information about this operation. Brevity here reflects under-specification rather than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, single-parameter delete with no output schema and 0% parameter documentation, the description should state what is removed, whether it is reversible, and which id is required. None of that is present, and the only substantive content it does offer is inaccurate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required 'id' parameter is undocumented in both schema and description. The description never mentions that the identifier of the reference control to delete must be supplied, so nothing compensates for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint 'allows reference controls to be viewed or edited', which is boilerplate and omits the operation the tool actually performs (deletion, per the name suffix 'destroy'). An agent reading only the description would not know this is a delete tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool versus siblings such as reference_controls_retrieve, reference_controls_partial_update, or reference_controls_list. Nothing tells the agent this is the irreversible removal path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_reference_controls_listApi reference controls listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| urn | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| category | No | ||
| findings | No | ||
| ordering | No | ||
| provider | No | ||
| max_pages | No | ||
| csf_function | No | ||
| filtering_labels | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the description should add value on pagination, filter interactions, or return shape. Instead it offers only serializer-implementation jargon with no behavioral information an agent can act on.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not bloated, but a sentence that only conveys internal serializer mechanics does not earn its place; concision without useful content is under-specification, not quality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter filtered list endpoint with no output schema, the description should at minimum explain the list semantics. Nothing an agent needs in order to call it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Thirteen parameters (id, urn, limit, offset, search, folder, category, findings, ordering, provider, max_pages, csf_function, filtering_labels) have 0% schema description coverage, so the description must compensate — yet it mentions none of them, not even limit/offset pagination.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description reads as an internal implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does. It never names the resource (reference controls) or says it returns a list of them; an agent must infer that from the tool name and title alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this instead of siblings such as ciso_assistant_api_reference_controls_retrieve or the many other *_list tools. The sentence describes framework internals, not usage conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_reference_controls_object_retrieveApi reference controls object retrieveDRead-onlyIdempotent
API endpoint that allows reference controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows reference controls to be 'viewed or edited', yet the annotations declare readOnlyHint=true and destructiveHint=false. That phrasing implies a write capability the annotations deny, creating confusion about what the tool actually does; no additional context (auth, return shape, single-vs-collection) is provided beyond the contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence with no padding, so nothing is wasteful, but it is under-specified rather than efficient — brevity comes at the cost of all useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieval tool with one required parameter and no output schema, the description should establish that it fetches a single reference control by id and something about the result. Instead it offers boilerplate that could describe nearly any CRUD endpoint in this API.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage and the description never mentions it or its format. The parameter name is self-explanatory, which keeps this above 1, but the description does nothing to compensate for the undocumented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('reference controls') but the verb is the vague boilerplate 'viewed or edited', which merely restates the title and the '_object_retrieve' suffix. Nothing distinguishes it from the ~15 sibling reference_controls tools (list, retrieve, category, provider, update, etc.), so an agent cannot tell which one to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no prerequisites, and no mention of alternatives such as reference_controls_list or reference_controls_retrieve. The agent is left to infer everything from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_reference_controls_partial_updateApi reference controls partial updateD
API endpoint that allows reference controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so the safety profile is known. The description adds nothing beyond that: it does not say the update is partial (fields omitted are left untouched), what fields the body accepts, or what permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is efficient, but the brevity comes from under-specification rather than tight writing; there is no front-loaded operational detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque free-form body, no output schema, and no annotation coverage of semantics, the description leaves every operational question unanswered — what can be patched, whether omitted fields are preserved, and what is returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the body parameter is an opaque anyOf object with no documented shape. The description must therefore compensate, but it says nothing about the required id or what keys belong in body, leaving an agent unable to construct a valid call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence names the resource (reference controls) but describes it only as something that can be 'viewed or edited', a generic boilerplate phrasing that ignores the partial-update semantics in the tool name. It does not distinguish this mutation from the sibling reference_controls_update, reference_controls_retrieve, or reference_controls_list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to pick this tool over reference_controls_update (full replace) or reference_controls_retrieve (read). The 'viewed or edited' phrasing actively blurs the read/write distinction an agent needs to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_reference_controls_provider_retrieveApi reference controls provider retrieveCRead-onlyIdempotent
API endpoint that allows reference controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows reference controls to be 'viewed or edited', which implies a mutation capability, while the annotations declare readOnlyHint=true and destructiveHint=false. The one behavioral claim in the text conflicts with the structured safety metadata, and it says nothing about what the read actually returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence with no padding, which is structurally fine. However, the sentence is auto-generated boilerplate that spends its one clause on generic CRUD phrasing instead of the endpoint's actual purpose, so brevity comes at the cost of utility.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description carries the full burden of telling the agent what comes back, yet it never mentions that this is a provider/choice listing or what shape the response takes. For a 'provider retrieve' endpoint the description is essentially uninformative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to explain; the baseline for a parameterless tool applies. The schema description coverage is 100% with an empty properties object, so nothing is left ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title in generic terms ('reference controls ... viewed or edited') and never explains the distinguishing feature of this endpoint: it is the provider/choice endpoint for reference controls. Nothing separates it from siblings like reference_controls_retrieve or reference_controls_list, so an agent cannot tell it apart without inspecting the route.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus reference_controls_list, reference_controls_retrieve, or reference_controls_category_retrieve. The agent must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_reference_controls_retrieveApi reference controls retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive behavior, so the description only needs to add what they don't cover. It does add one useful behavioral fact — that unauthorized related fields are masked — but does not explain which fields, when masking occurs, or what permissions drive it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single short sentence contains no waste, but the brevity is under-specification rather than efficient concision. It omits the resource, the parameter, and return-value context that an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool with one undocumented parameter and no output schema, the description should at least identify the resource and the ID semantics. It mentions masking but leaves the core retrieval contract and field-masking behavior unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single `id` parameter has 0% schema description coverage and the description never mentions it, so neither the schema nor the description clarifies format (e.g., UUID) or which object the ID refers to. With low coverage the description should compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Return a single object' and never names the resource (reference control) or the lookup key. It could describe any retrieve endpoint among the many siblings, so the agent must rely on the tool name rather than the description to know what is returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus siblings such as reference_controls_list, reference_controls_object_retrieve, or reference_controls_cascade_info_retrieve. No prerequisites or selection criteria are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_reference_controls_syncable_applied_controls_retrieveApi reference controls syncable applied controls retrieveDRead-onlyIdempotent
API endpoint that allows reference controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows reference controls to be 'viewed or edited', but annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false. Claiming an edit capability on a read-only, idempotent endpoint is a direct contradiction of the structured safety profile, and nothing is said about what the syncable-applied-controls projection actually returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short, front-loaded sentence with no padding, so structurally it is fine. The problem is that the one sentence spent is boilerplate that does not carry the tool's actual meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description needed to convey what a 'syncable applied control' record is and how it relates to a reference control; it does neither. Combined with an undocumented id parameter, an agent has essentially nothing beyond the tool name to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single required 'id' parameter, and the description does not say whether that id identifies a reference control, an applied control, or a sync pair. With only one parameter and no schema documentation, the description was the only place this could be clarified and it was not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the generic DRF boilerplate 'API endpoint that allows reference controls to be viewed or edited' and never mentions the distinguishing concept in the tool name: which applied controls are syncable to a given reference control. It describes a different resource (reference controls) than the sibling ciso_assistant_api_reference_controls_retrieve already covers, so an agent cannot tell the two apart or infer what 'syncable' filters on.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus ciso_assistant_api_reference_controls_retrieve, _object_retrieve, or the write-side ciso_assistant_api_reference_controls_sync_applied_controls_create. The one implied usage cue ('viewed or edited') points toward the wrong operation and the wrong sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_reference_controls_sync_applied_controls_createApi reference controls sync applied controls createC
API endpoint that allows reference controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that — no explanation of what the sync does, what side effects it causes on applied controls, or what permissions it needs — and its "viewed" wording sits awkwardly against a non-read-only action endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not verbose, but it is generic boilerplate that does not earn its place — the sentence does not front-load any action-specific information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an action endpoint that creates applied controls from a reference control, with one undocumented parameter and no output schema, the description should explain the operation and the input. Instead it provides only boilerplate, leaving the agent unable to predict what the call will do.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required `id` parameter. The description does not say whether `id` refers to a reference control or an applied control, nor what the value does in the sync operation, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates generic REST API boilerplate ("allows reference controls to be viewed or edited") rather than saying what this specific tool does. The tool name indicates a sync action that creates applied controls from a reference control, but the description describes a plain view/edit endpoint, which is misleading and fails to distinguish it from the many siblings ciso_assistant_api_reference_controls_create/list/update/retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or what alternative to pick. The description's "viewed or edited" framing is particularly unhelpful given siblings that actually handle view/edit operations on reference controls.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_reference_controls_updateApi reference controls updateCIdempotent
API endpoint that allows reference controls to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, so the mutation profile is covered there; the description adds nothing about what a full update overwrites, whether unspecified fields are reset, permission requirements, or failure behavior. For an idempotent PUT-style replacement the 'unspecified fields are reset' nuance would be the single most valuable disclosure, and it is absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, but the brevity comes from boilerplate rather than front-loaded information; nothing about the resource or action is prioritized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with no output schema and zero parameter documentation needs the description to carry the load, and this one leaves an agent unable to construct a valid body or know what happens on success. Only the annotations supply usable behavioral signal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%: 'id' is an undescribed string and 'body' is an unconstrained anyOf object with additionalProperties=true, so the payload shape is entirely opaque. The description does nothing to compensate — it does not name a single updatable field or point at the reference-control schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (reference controls) but the verbs 'viewed or edited' are boilerplate DRF phrasing that blurs what the endpoint actually does, and it does not distinguish this update tool from the sibling retrieve, partial_update, or create endpoints on the same resource. An agent reading only the description could mistake it for a read endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no routing to alternatives such as reference_controls_partial_update (for subset updates) or reference_controls_retrieve (for reading). The 'viewed or edited' wording gives no basis for choosing this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_representatives_batch_action_createApi representatives batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=false, idempotent=false and openWorld=true, so the safety profile is known. The description adds nothing on top of that: it does not say what a 'batch action' consists of, whether items are created/updated/deleted, what happens on partial failure, or what permissions are needed. No contradiction with annotations, but zero added behavioral value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so it is concise, but the brevity comes from under-specification rather than efficiency — no front-loaded scoping detail, resource, or action semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation endpoint with a schema that accepts no parameters and no output schema, so the description carries the burden of explaining the action vocabulary and effect. Instead it supplies one generic sentence, leaving an agent unable to determine operation type, target selection, or result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter count is 0, which sets the baseline at 4, but the schema is an empty object with additionalProperties=false, which is surprising for a batch endpoint that normally needs an action name and a list of ids. The description offers no hint about how the batch payload would be expressed, leaving a real ambiguity unaddressed, so a small deduction is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic framework boilerplate: 'Perform a batch action on multiple objects.' It never names the resource (representatives) that the tool name already carries, and never states which batch action is performed (patch? delete? update?). An agent reading only the description cannot tell what it does beyond the circular restatement of 'batch action'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all: nothing says when to prefer this over the sibling single-object operations (ciso_assistant_api_representatives_partial_update / _destroy) or over other *_batch_action_create tools. The only implied usage comes from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_representatives_cascade_info_retrieveApi representatives cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 contributes only the word "preview," which hints the call is a non-committal look at cascade effects, but it discloses nothing about what data is returned, whether the object must exist, or how deep the cascade traversal goes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words with a trailing colon is technically concise but is under-specification, not conciseness; it reads as a truncated fragment rather than a front-loaded summary. Nothing here earns or fills space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, zero schema description coverage, and a two-word description leave the agent without any basis for interpreting the response or the id. For a retrieval endpoint whose entire value is the shape of the preview payload, this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is exactly one required parameter, `id`, and schema description coverage is 0%, so the description carries the burden of explaining it — and it says nothing. It does not state which object the id refers to (a representative, presumably) or what happens if the id is unknown. The bare mention of "cascade" is the only indirect signal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" names neither a clear verb nor what is being previewed or returned. It gestures at a cascade/impact preview for representatives, but an agent cannot tell from this fragment whether it computes deletion impact, dependency listing, or something else. Among dozens of near-identical `*_cascade_info_retrieve` siblings, this gives no way to confirm the resource semantics beyond the tool name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to call this versus `representatives_retrieve`, `representatives_object_retrieve`, or `representatives_destroy`. The label "preview" faintly implies pre-deletion inspection, but that is inference, not instruction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_representatives_createApi representatives createD
API endpoint that allows representatives to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose that this is a non-read-only, non-idempotent, non-destructive, open-world write operation. The description adds little beyond saying the endpoint allows viewing or editing, and it does not explain the create behavior, required permissions, or what happens on success.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is only one sentence, so it is concise, but it is neither front-loaded around creation nor informative. The sentence does not earn its place because it omits the action implied by the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and one undocumented body parameter, the description must carry the burden of explaining the create operation. It does not describe the expected payload, response, or operational context, leaving the definition materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter is an untyped body object with 0% schema description coverage, and the description says nothing about its contents or required fields. For a create endpoint, this leaves the agent unable to construct a valid request from the definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint allows representatives to be "viewed or edited," which is generic and omits the tool's actual create action. It restates the resource but does not distinguish this create endpoint from sibling read or update endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as representatives_list, representatives_retrieve, or representatives_update. It provides no context, exclusions, or prerequisites for creating a representative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_representatives_destroyApi representatives destroyDDestructiveIdempotent
API endpoint that allows representatives to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description frames the endpoint as 'viewed or edited' while annotations declare destructiveHint=true and readOnlyHint=false. The irreversible-deletion behavior and its consequences (cascading removal of a representative record) are never disclosed; the description actively points the agent away from the real behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, so it is not bloated, but its content is boilerplate API-framework text rather than a front-loaded statement of the operation. Concise yet uninformative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent-looking delete with only one identifier and no output schema, the description should state what is deleted and any irreversibility. Instead it supplies the wrong operation entirely, leaving the agent unable to call it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter 'id' with 0% schema description coverage, and the description adds no meaning about it (e.g., that it is the representative's primary key of a record that will be permanently removed). The description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint allows representatives to be 'viewed or edited', which is a generic CRUD-template sentence and omits the actual operation (deletion) that the name 'destroy' and the HTTP semantics imply. It does not distinguish this from the sibling retrieve/update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool versus ciso_assistant_api_representatives_retrieve, _update, or _partial_update. An agent has nothing to route on except the name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_representatives_listApi representatives listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| entity | No | ||
| offset | No | ||
| ref_id | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| filtering_labels | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds no behavioral context of its own; 'inject optimized data into the serializer context' is a code-level detail an agent cannot act on and says nothing about result shape, pagination, or scoping.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here is under-specification rather than conciseness: the single sentence is spent on an implementation note instead of leading with what the tool returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A nine-parameter listing tool with no output schema and no documented parameters gets no useful context from the description. An agent cannot determine pagination behavior, accepted filters, or what records come back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All nine parameters (id, limit, offset, entity, ref_id, search, ordering, max_pages, filtering_labels) have 0% schema description coverage, so the description carries the full burden — and it mentions no parameters at all. Names like 'entity' and 'filtering_labels' remain unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal Django implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does. Only the tool name reveals that it lists representatives, and nothing distinguishes it from siblings such as representatives_retrieve or representatives_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus representatives_retrieve, representatives_object_retrieve, or any filtered listing. The sentence describes framework internals, so an agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_representatives_object_retrieveApi representatives object retrieveCRead-onlyIdempotent
API endpoint that allows representatives to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows representatives to be 'viewed or edited', but annotations declare readOnlyHint=true and destructiveHint=false for a retrieve-style, id-only operation. Claiming edit capability directly contradicts the declared safety profile and would mislead an agent about mutation risk.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not bloated. But it spends its one clause on a generic and partly wrong boilerplate claim ('viewed or edited') rather than front-loading useful retrieval information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an object-retrieval tool with no output schema and one undocumented parameter, the description should state that it returns a single representative's details by id. Instead it offers generic DRF boilerplate that omits return shape and contradicts the read-only annotation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'id' parameter is undocumented in both schema and description. The description says nothing about what the id identifies (representative record identifier, its type, or format), so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (representatives) and the general action (viewing), so the broad purpose is inferable. However, it adds no scope detail (single object vs list, lookup by id) and does nothing to separate this tool from the crowded family of siblings such as representatives_list, representatives_retrieve, representatives_object_retrieve and representatives_cascade_info_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this endpoint versus the many alternatives on the representatives resource. The only signal the agent gets is the required 'id' parameter in the schema, which is structural rather than descriptive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_representatives_partial_updateApi representatives partial updateD
API endpoint that allows representatives to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false. The description adds no behavioral context beyond "edited"—it does not mention partial-update semantics, required id targeting, body contents, permissions, or what happens to omitted fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no bloat, but the sentence is generic boilerplate that fails to earn its place by conveying useful tool behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, 0% parameter description coverage, and a generic object body, the description is far too thin for a mutation endpoint. It does not explain enough for an agent to safely construct a partial update request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description never mentions the required id or the opaque body parameter. For a two-parameter tool with an underspecified body object, this leaves the agent with no semantic guidance beyond parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a resource (representatives) but uses generic boilerplate, "API endpoint that allows representatives to be viewed or edited." It does not clarify that this is specifically a partial update, nor does it differentiate the tool from siblings such as representatives_update, representatives_create, or representatives_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this partial update versus the full update, create, retrieve, or list tools. The phrase "viewed or edited" is actively misleading for an endpoint whose name indicates only partial mutation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_representatives_retrieveApi representatives retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 does add genuinely new behavior: related fields are masked when the caller is unauthorized. It does not say whether masked fields are omitted or null, nor what authorization level is required, so the addition is real but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, and the masking behavior is stated up front. It is efficient, though efficiency here partly reflects omission rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve endpoint with no output schema, no parameter documentation, and a large set of near-duplicate sibling retrieve/list tools, the description should state the resource, the id format, and the shape of masked data. As written, an agent cannot confidently select or invoke it beyond guessing from the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter (id) with 0% schema description coverage, so the description carries the full burden and says nothing about it. It does not clarify whether id is a UUID, integer-like string, or ref_id, which matters in this API where sibling endpoints use varied identifiers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only "Return a single object," which restates the "retrieve" verb without naming the resource (representatives) or describing what a representative is. An agent must infer the subject from the tool name alone; the description does not distinguish it from the many other retrieve tools in the namespace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the clearly related siblings such as representatives_list, representatives_object_retrieve, or representatives_cascade_info_retrieve. No preconditions, no exclusions, and no indication of what to do when a representative is not found.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_representatives_updateApi representatives updateDIdempotent
API endpoint that allows representatives to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, destructiveHint=false, idempotentHint=true, and openWorldHint=true, so the safety profile is partly covered. However, the description adds no behavioral context: it does not say what editing means, whether the body replaces the resource, what permissions are needed, or how partial updates differ. 'Viewed or edited' is boilerplate and does not meaningfully supplement 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary length, but it is generic boilerplate rather than a front-loaded, informative statement of purpose. It is concise but does not earn its place with useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation endpoint with two parameters, one of which is an unconstrained body object, and the description provides essentially no context. With no output schema and no schema descriptions, an agent cannot learn from the description what the body should contain or what behavior to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and both parameters are effectively undocumented. The description does not explain that id identifies the representative or what the untyped body object should contain, so it fails to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that this is an 'API endpoint' where 'representatives' can be 'viewed or edited,' which mixes read and write semantics instead of clearly stating that the tool updates a representative. The name and title imply update, but the description itself does not distinguish this from sibling tools like representatives_retrieve, representatives_partial_update, or representatives_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool rather than representatives_partial_update, representatives_update, or representatives_retrieve. The phrase 'viewed or edited' implies possible usage but does not set any explicit condition, prerequisite, or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requestCiso Assistant Api RequestC
Execute an arbitrary CISO Assistant REST API request directly.
| Name | Required | Description | Default |
|---|---|---|---|
| method | Yes | HTTP method to use (GET, POST, PUT, DELETE, PATCH) | |
| endpoint | Yes | API path appended to the backend host (e.g. /api/assets/) | |
| params_json | No | JSON object with optional 'params' (query) and 'json' (body) keys. | {} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It says the request is 'arbitrary' and 'direct', but does not disclose that it can mutate or delete data, what error/response shape to expect, or any auth or rate-limit constraints. For a tool that can issue DELETE/PUT against any path, this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no waste. It is efficient, though its brevity is partly the source of the missing behavioral detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a highly powerful, unannotated, arbitrary-request tool with no output schema, the description says nothing about return values, error handling, or safety implications. Given the tool's blast radius, it should do much more than one sentence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema itself documents method values, endpoint examples, and the params/json structure of params_json. The description adds nothing beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Execute') and resource ('arbitrary CISO Assistant REST API request'), making clear this is a generic escape hatch that can hit any endpoint. It doesn't explicitly position itself against the hundreds of specific sibling tools, but the word 'arbitrary' plus 'directly' effectively signals it is the catch-all.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this generic tool versus the many specific endpoint tools, and no mention of prerequisites such as authentication or required permissions. The agent must infer that this is a fallback for endpoints not covered elsewhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assessments_batch_action_createApi requirement assessments batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the mutation profile is covered. The description adds nothing beyond that: no statement about what actions are supported, whether the batch is atomic or partially applied, or what happens on per-object failure — the traits an agent most needs for an open-world bulk mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no padding, so it is efficient. But its brevity comes from omission rather than compression — the single clause carries almost no distinguishing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world mutation endpoint with an empty parameter schema and no output schema, the description should say what the action does, what it accepts, and what it returns. None of this is present, leaving the agent unable to call the tool with confidence even in principle.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero declared parameters gives the baseline, and the description's only semantic addition is the phrase 'multiple objects,' implying bulk selection. That claim is not reconcilable with a schema that declares no properties and additionalProperties=false, and the description does nothing to explain how objects or the action itself are conveyed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Perform a batch action on multiple objects' restates the name's 'batch_action' without naming the resource at all. In a catalog with dozens of sibling *_batch_action_create tools (assets, findings, incidents, requirements, threats), an agent cannot tell from the description that this one targets requirement assessments, nor what the 'action' does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no exclusions, no mention of alternatives such as per-object update or partial_update, and no prerequisites (permissions, bulk limits). The agent is left to infer everything from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assessments_cascade_info_retrieveApi requirement assessments cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile is covered. The description adds no behavioral context about what the preview contains, its scope, depth, or any side effects 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The phrase is short but under-specified rather than concise. It is not front-loaded with actionable information, and the colon suggests incompleteness rather than a finished definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple single-parameter retrieval tool with no output schema and no parameter descriptions, the description should at least explain what cascade information is previewed and what the id refers to. Annotations cover safety, but the description is far too thin for an agent to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has one required parameter, id, with 0% schema description coverage, so the description must compensate. It never mentions the id or what it identifies, leaving the sole parameter completely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only "Cascade preview:", which restates the title/name rather than stating a specific verb and resource. It does not clarify that this is a requirement-assessment cascade preview or how it differs from the many sibling cascade_info_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no prerequisites, and no mention of alternatives such as the standard retrieve or other cascade tools. The two-word phrase leaves usage entirely to inference from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assessments_createApi requirement assessments createD
API endpoint that allows requirement assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, so the write behavior is captured structurally. The description adds no context about what gets created, required permissions, or side effects, and its 'viewed or edited' phrasing is at odds with a creation endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is concise. However, the brevity comes at the cost of substance, and the sentence's framing ('viewed or edited') is unhelpful for a create operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation endpoint with a completely undocumented body parameter, no output schema, and only partial annotation coverage, the description does far too little. An agent lacks the payload shape and any behavioral context needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter is a generic 'body' object with anyOf null and 0% schema description coverage, so the schema conveys essentially nothing about the payload shape. The description does not compensate by naming fields or the assessment structure being created.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'viewed or edited', which restates a CRUD resource generically and actually points away from the operation this tool performs (create). There is no specific verb matching the tool name and no differentiation from the many sibling requirement_assessments endpoints (destroy, partial_update, list, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this create endpoint versus partial_update, update, or batch_action_create. An agent has to infer everything 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.
ciso_assistant_api_requirement_assessments_destroyApi requirement assessments destroyDDestructiveIdempotent
API endpoint that allows requirement assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows records to be 'viewed or edited', which contradicts the destructiveHint=true / readOnlyHint=false annotations and the 'destroy' semantic. It discloses nothing about permanence, cascade effects, permission requirements, or whether the assessment's linked requirement nodes are affected — the exact concerns for a delete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is formally concise, but the one sentence it spends is boilerplate that conveys no tool-specific information. Brevity here comes at the cost of correctness rather than from efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, irreversible operation with no output schema, no parameter documentation, and annotations limited to hints gets essentially no supporting narrative. An agent cannot determine what it is deleting, what else is removed, or what confirmation is needed before calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter ('id') with 0% schema description coverage, and the description contributes nothing about it — not whether it is the assessment UUID, a requirement node id, or a composite identifier. In a domain with requirement_assessments, requirement_assignments and requirement_nodes, ambiguous ids are a real risk.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('requirement assessments') but states the wrong operation: 'viewed or edited' while the tool name ends in 'destroy' and the annotations declare destructiveHint=true. The stated purpose is generic CRUD boilerplate that actively misdirects an agent about what the call does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives — not versus sibling create/update/partial_update/retrieve, and not versus requirement_assignments_destroy or requirement_nodes_destroy. Worse, 'viewed or edited' implies the opposite of the deletion workflow an agent would need guidance on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assessments_extended_result_retrieveApi requirement assessments extended result retrieveCRead-onlyIdempotent
API endpoint that allows requirement assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, but the description says the endpoint allows assessments to be 'viewed or edited', implying write capability that the annotations deny. Beyond that tension it discloses nothing about what the 'extended result' payload contains or how it differs from the non-extended result endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is concise. However, that brevity comes from being generic rather than from being front-loaded with useful information, so the length is not earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only source of information about the return value, yet it says nothing about what the extended result contains or how it differs from the plain result endpoint. For a retrieve tool in a family with near-identical sibling names, this leaves the agent without enough to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and 100% schema coverage, so there is nothing for the description to disambiguate at the parameter level; the baseline for a parameterless tool applies. The only gap is that the description never explains how the target assessment is identified absent any declared inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title generically ('API endpoint that allows requirement assessments to be viewed or edited') without stating what a 'requirement assessments extended result' actually is. It does not distinguish this tool from the many sibling endpoints such as ciso_assistant_api_requirement_assessments_result_retrieve, _retrieve, or _list, so an agent cannot infer what is returned here.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no indication of what input identifies the assessment, and no mention of when the plain _result_retrieve sibling would be preferred. The phrase 'viewed or edited' is the only hint at usage and it is ambiguous boilerplate rather than a selection criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assessments_listApi requirement assessments listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| result | No | ||
| search | No | ||
| ordering | No | ||
| evidences | No | ||
| max_pages | No | ||
| folder__name | No | ||
| extended_result | No | ||
| applied_controls | No | ||
| requirement__urn | No | ||
| security_exceptions | No | ||
| compliance_assessment | No | ||
| requirement__assessable | No | ||
| compliance_assessment__ref_id | No | ||
| compliance_assessment__perimeter | No | ||
| compliance_assessment__assets__ref_id | No | ||
| compliance_assessment__perimeter__name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so safety is covered externally. The description adds no caller-relevant behavior (pagination, filtering semantics, result shape) and merely references an internal serializer optimization, which is not actionable information for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no bloat, but the one sentence that exists is spent on an internal implementation detail rather than front-loading anything the caller needs. Brevity here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 20-parameter listing endpoint with no output schema, no parameter documentation, and no annotation-adjacent explanation is left almost entirely undefined. An agent cannot determine what it returns or how the filters combine from this description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 20 parameters with 0% description coverage — names like 'extended_result', 'requirement__assessable', 'compliance_assessment__perimeter__name', and 'max_pages' are ambiguous — and the description explains none of them. This is the maximum gap case where the description had to compensate and did not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does for a caller. Only the title hints that it lists requirement assessments; the description itself never names the resource, scope, or return content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this list endpoint versus the many sibling read endpoints such as requirement_assessments_result_retrieve, requirement_assessments_extended_result_retrieve, or compliance_assessments_requirements_list_retrieve. Nothing about prerequisites or exclusions is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assessments_object_retrieveApi requirement assessments object retrieveDRead-onlyIdempotent
API endpoint that allows requirement assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, yet the description says the endpoint 'allows requirement assessments to be viewed or edited', implying a write capability this tool does not have. Beyond that it adds no behavior of its own (no auth needs, no scope/side effects), so it actively muddies rather than clarifies the annotation-declared 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no bloat, but the only content beyond the name ('viewed or edited') is misleading noise rather than useful front-loaded information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should say what a retrieval returns (fields, relationships to compliance assessment/requirement node) and how failures (bad ID, permissions) behave; it provides none of this. For a lookup endpoint in a dense CRUD family the definition is too thin to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the description must carry the meaning; it says nothing about what the ID identifies or its format (string vs numeric ref). An agent can only guess that it is the requirement-assessment primary key.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name ('requirement assessments ... viewed') rather than distinguishing it from the many sibling endpoints (requirement_assessments_list, _retrieve, _result_retrieve, _extended_result_retrieve, _object_retrieve). It never explains what a 'requirement assessment' object is or why 'object_retrieve' differs from plain 'retrieve', so an agent cannot confidently pick it over its near-duplicates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus the ~15 sibling requirement_assessments endpoints, no mention that it fetches a single record by ID, and no prerequisites. The only usage-ish signal ('viewed or edited') is unhelpful and points the wrong way for a retrieve-only tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assessments_partial_updateApi requirement assessments partial updateD
API endpoint that allows requirement assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing about side effects, permissions, or what 'partial' implies, and its 'viewed' wording blurs the read/write distinction the annotations establish.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, but the brevity comes from under-specification rather than efficiency -- the sentence conveys essentially no operational information beyond the resource name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque free-form body, no output schema, and zero parameter documentation, the description leaves every decision an agent must make unaddressed: what fields are patchable, what id format is expected, and what the response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%: 'id' is undocumented and 'body' is an untyped free-form object with no stated fields. The description provides no compensating detail about what values body accepts, which is exactly the case where the description must carry the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence names the resource (requirement assessments) but the verb phrase 'viewed or edited' is generic and doesn't identify the operation as a partial update. It also conflates reading and writing, so an agent cannot tell this apart from the sibling retrieve/update endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus ciso_assistant_api_requirement_assessments_update (full update) or _retrieve. The description offers no context, prerequisites, or exclusions for selecting this over its many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assessments_per_status_retrieveApi requirement assessments per status retrieveCRead-onlyIdempotent
API endpoint that allows requirement assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows assessments "to be viewed or edited," while annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false. Claiming edit capability on a declared read-only retrieve endpoint is a direct inconsistency that could lead an agent to attempt a mutation. It also omits the pagination/aggregation behavior implied by "per_status."
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so it is concise, but the brevity is a symptom of under-specification rather than efficiency — it conveys no information beyond the tool name. Given the size budget available, far more could have been said without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters to anchor meaning, the description is the only place where the agent could learn what a "per status" response looks like (status counts/grouping) or how it differs from other requirement-assessment endpoints. It provides none of that, leaving the tool effectively indistinguishable from its siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters, so there is nothing for the description to disambiguate at the parameter level. Baseline of 4 applies; no parameter-related value is lost.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title almost verbatim ("allows requirement assessments to be viewed or edited") without saying what the endpoint actually returns. It never mentions the "per_status" dimension — the status breakdown/aggregation that distinguishes it from siblings like requirement_assessments_list, requirement_assessments_status_retrieve, and requirement_assessments_retrieve. An agent cannot tell what this endpoint produces versus ten near-identical requirement-assessment siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this endpoint, when not to, or which sibling to prefer for a plain list, a single object, or an allowed-status list. The only implied usage is "view requirement assessments," which applies equally to several other tools in the same family.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assessments_result_retrieveApi requirement assessments result retrieveCRead-onlyIdempotent
API endpoint that allows requirement assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint permits records to be 'viewed or edited', but annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false for a retrieve route. That is a direct contradiction of the declared safety profile, and no additional behavioral context (pagination, filters, empty-result handling) is offered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is concise. But the brevity comes from boilerplate rather than from front-loading the information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and the description never says what a 'result' contains or how it relates to the assessment hierarchy. For a zero-parameter retrieve with no documented return shape, the description leaves the agent unable to predict what it will get back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The absence of any identifier parameter is notable but is not something the description could compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence restates the tool name and title almost verbatim ('requirement assessments' + 'viewed or edited') without committing to a concrete verb or scope. It gives no way to tell it apart from the many sibling retrieve endpoints (requirement_assessments_retrieve, _object_retrieve, _extended_result_retrieve).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the sibling endpoints that retrieve requirement assessment data. The agent must guess from the name alone whether this is the right retrieve to call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assessments_retrieveApi requirement assessments retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and open-world behavior, so the safety profile is covered. The description does add one non-obvious behavior beyond the annotations: related fields are masked when the caller is unauthorized, which warns about partial data. It stops there, saying nothing about error behavior for a missing or forbidden id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, and the masking caveat is stated up front. However, the brevity reads as under-specification rather than discipline, since the sentence omits the resource being returned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the full burden of explaining the return value, yet it only gestures at 'a single object' plus masking. It omits the resource identity, what the masked fields look like, and id semantics for a one-required-param retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required 'id' parameter carries no description. The description never clarifies whether the id is the assessment UUID, a requirement node id, or a composite reference, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Return a single object', which restates the retrieve suffix without naming the resource. An agent must fall back to the tool name to learn it fetches a requirement assessment, and the masking clause describes output shape rather than purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all, despite a crowded sibling set including requirement_assessments_list, object_retrieve, extended_result_retrieve, result_retrieve and cascade_info_retrieve. Nothing tells the agent when this endpoint is preferred over those lookalikes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assessments_status_retrieveApi requirement assessments status retrieveCRead-onlyIdempotent
API endpoint that allows requirement assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows requirement assessments to be 'viewed or edited,' which contradicts the readOnlyHint=true annotation and the retrieve nature of the tool. With no annotations needed for safety, a retrieve endpoint should not describe an edit capability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no wasted words, but it is under-specified rather than concise in a useful way. The sentence does not front-load the specific status-retrieval purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description carries the full burden of explaining the return value and scope, yet it does not say whether this returns status choices, assessment statuses, or something else. The vague 'viewed or edited' phrase leaves the agent without the context needed to distinguish it from sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to explain; the baseline for zero-parameter tools is 4. The description offers no additional parameter context, but none is expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title generically as an endpoint allowing requirement assessments to be viewed or edited, which does not explain what the status-retrieve variant specifically returns (likely the available status choices). It names the resource but not the actual operation, leaving it hard to distinguish from requirement_assessments_retrieve or per_status_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this endpoint versus the many sibling requirement-assessment tools such as retrieve, list, per_status_retrieve, or result_retrieve. The only implied usage is the vague phrase 'viewed or edited,' which is not actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assessments_suggestions_applied_controls_createApi requirement assessments suggestions applied controls createD
api_requirement_assessments_suggestions_applied_controls_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, which is the only behavioral signal available. The description adds no context about what is created, what the effect on the parent requirement assessment is, or whether repeated calls duplicate records — despite idempotentHint=false making that a real risk worth stating.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one token with no waste, but that is under-specification rather than conciseness. There is no front-loaded statement of purpose or effect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a nested create/mutation endpoint with an opaque required id, no output schema, no annotation explanation, and an empty description. Nothing an agent needs in order to call it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'id' has 0% schema description coverage, so neither schema nor description explains what the id identifies (a requirement assessment? a suggestion? an applied control?). With one undocumented parameter, the description must compensate and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated verbatim ('api_requirement_assessments_suggestions_applied_controls_create'), so it is a tautology with no added meaning. The name does encode a resource path and a create verb, so an agent can loosely infer this relates to applied-control suggestions on requirement assessments, but the description contributes nothing beyond what the identifier already says and gives no way to distinguish it from siblings like requirement_assessments_suggestions_applied_controls_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool, what prerequisites exist, or which sibling alternative is appropriate. The agent is left to guess between this tool and the dozens of nearby requirement_assessments / applied_controls endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assessments_suggestions_applied_controls_retrieveApi requirement assessments suggestions applied controls retrieveDRead-onlyIdempotent
api_requirement_assessments_suggestions_applied_controls_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered by structured data. The description itself adds nothing: it does not say what is returned, whether suggestions are computed on the fly or stored, or what the single id refers to.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single opaque slug with no prose and nothing front-loaded. Brevity here reflects under-specification rather than economy — it conveys no information an agent could not read off the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no annotation-derived return detail, and the description is silent on both behavior and the lone parameter. For a nested-domain endpoint (requirement assessments → suggestions → applied controls) the definition is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter 'id' with 0% schema description coverage, so the schema gives no type semantics beyond string. The description does not clarify whether this id is the requirement assessment id, a suggestion id, or an applied control id — a distinction that matters given the sibling suggestions_applied_controls_create tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the machine slug 'api_requirement_assessments_suggestions_applied_controls_retrieve', which merely restates the tool name rather than stating in prose what the tool does. An agent can guess it fetches suggested applied controls for a requirement assessment, but that inference comes from the identifier, not from any explanatory text, and no sibling (e.g. the paired suggestions_applied_controls_create) is distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to call this tool, when not to, or which sibling to prefer. With dozens of neighbouring requirement-assessments tools (retrieve, list, object_retrieve, suggestions_applied_controls_create) the agent has no basis for choosing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assessments_todo_retrieveApi requirement assessments todo retrieveCRead-onlyIdempotent
API endpoint that allows requirement assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, yet the description says the endpoint allows assessments to be 'edited', implying a write capability that the annotations deny. Beyond that, nothing is disclosed about what the 'todo' result set contains or how it is computed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so it is concise, but it is front-loaded with the meaningless filler 'API endpoint' rather than the actual scope ('requirement assessments to do').
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and the description says nothing about what is returned or what 'todo' means in this domain. For a read-only filtered endpoint whose only differentiator is the 'todo' filter, this is a substantial gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to explain and the baseline is 4. The description neither helps nor hurts here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic boilerplate ('API endpoint that allows requirement assessments to be viewed or edited') that never mentions the distinguishing 'todo' scoping in the tool name. It does not let an agent tell it apart from the many sibling requirement_assessments retrievers (list, retrieve, to_review, per_status, updatables).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus ciso_assistant_api_requirement_assessments_list, _retrieve, or _to_review_retrieve. Given a dozen near-identical siblings, the absence of routing guidance makes the tool effectively unselectable by description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assessments_to_review_retrieveApi requirement assessments to review retrieveCRead-onlyIdempotent
API endpoint that allows requirement assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states the endpoint allows assessments to be 'viewed or edited', which contradicts the `readOnlyHint: true` annotation declaring this a non-mutating read. No other behavioral context (pagination, filtering, permissions) is provided beyond what the annotations already say.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so it is efficient, but it is also entirely generic and front-loads no actionable information. Brevity here comes from under-specification rather than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place the 'to review' semantics and the shape of the returned list could be explained, and it says nothing. For a filtered-retrieval endpoint in a very dense sibling namespace, this is not enough for an agent to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and has 100% schema description coverage, so there is nothing for the description to compensate for. Baseline of 4 applies for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name says 'requirement_assessments_to_review_retrieve', implying a filtered list of assessments pending review, but the description only offers the generic boilerplate 'allows requirement assessments to be viewed or edited.' It never explains what 'to review' means, so the one distinguishing feature of this endpoint versus the plain `requirement_assessments_retrieve` or `requirement_assessments_todo_retrieve` siblings is left unstated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance appears at all. With siblings such as `requirement_assessments_todo_retrieve`, `requirement_assessments_per_status_retrieve`, and `requirement_assessments_list`, the agent is given no basis to pick this tool over them, and no prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assessments_updatables_retrieveApi requirement assessments updatables retrieveCRead-onlyIdempotent
API endpoint that allows requirement assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows records to be "edited", while annotations declare readOnlyHint=true and destructiveHint=false — a direct conflict about whether a write occurs. The annotations already cover safety and idempotency, so the description should have added what "updatables" returns and any permission scoping, but it adds nothing beyond the contradictory boilerplate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding or repetition, so it is structurally clean and front-loaded. However, it spends its only sentence on generic framework boilerplate rather than on the one piece of information (what "updatables" yields) that would earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only source of information about the response, yet it never says what the endpoint returns or how the result differs from the plain retrieve sibling. For a zero-parameter read endpoint named with an opaque qualifier, that omission leaves the agent unable to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and schema coverage is 100%, so there is nothing for the description to disambiguate. Baseline 4 applies; no parameter-level information is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint that allows requirement assessments to be viewed or edited" restates the resource name but never explains what "updatables" means, which is the distinguishing part of the tool name. It is indistinguishable from siblings like requirement_assessments_retrieve, object_retrieve, list, or partial_update, so an agent cannot infer that this endpoint returns the set of update-permitted fields/objects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given, no alternatives are named, and no conditions or prerequisites are stated. The phrase "viewed or edited" vaguely gestures at both read and write use cases without indicating which situation selects this tool over the standard retrieve or update endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assessments_updateApi requirement assessments updateCIdempotent
API endpoint that allows requirement assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: it doesn't say whether the body replaces the full resource or merges (contrast the partial_update sibling), what fields exist, or what happens to omitted fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, but it is under-specified rather than efficiently concise; the space saved is not spent on anything the agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an opaque object body, no output schema, and no described response, the agent has almost no information for constructing a valid call. It needs body shape, replace-vs-merge semantics, and permission expectations, none of which appear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the 'body' parameter is a free-form object with no described properties, so the description carries the full burden — yet it says nothing about what goes in the body or what the required 'id' identifies. This is the clearest gap for a two-parameter tool with an opaque payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint allows requirement assessments to be 'viewed or edited', which conflates read and write and never states that this is the update (PUT) operation implied by the tool name. An agent cannot tell it apart from the sibling retrieve, list, partial_update, or object_retrieve endpoints on this resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus ciso_assistant_api_requirement_assessments_partial_update, retrieve, or list. 'Viewed or edited' actively suggests it can be used for reading, which points an agent at the wrong sibling for retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assignments_batch_action_createApi requirement assignments batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the safety profile (readOnly false, destructive false, idempotent false, openWorld true), so the description is not required to repeat that. However, it adds nothing beyond them: it never says what operations the 'batch action' performs, whether it creates/updates/deletes the target objects, or what side effects and error behavior to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, so there is nothing to trim. The problem is under-specification rather than verbosity, and there is no front-loaded scope statement to anchor it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a non-idempotent batch mutation with an empty input schema and no output schema, and the description supplies neither the object type affected nor how a batch is addressed. An agent cannot safely or correctly invoke it from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters (additionalProperties: false), so per the baseline for parameterless tools this would score 4. But an empty payload for a 'batch action create' is counterintuitive, and the description does nothing to explain how target objects are identified, which is the natural question the schema leaves open.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The single sentence 'Perform a batch action on multiple objects' is a generic template that never names the resource (requirement assignments) or the action (create), even though both are in the tool name. It gives an agent no way to distinguish this from any of the dozens of sibling '*_batch_action_create' tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this batch endpoint versus the sibling requirement_assignments_create, _update, _partial_update, _destroy, or _set_status_create. Nothing states prerequisites, batch semantics, or what 'action' means here.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assignments_cascade_info_retrieveApi requirement assignments cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered by structured data. The description adds only the word 'preview', which hints that the call computes an effect without applying it — but it does not say what is modeled (deletions, reassignments, orphaned objects) or whether the preview depends on current state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words with a trailing colon is not a description; this is under-specification rather than conciseness. Nothing is front-loaded because nothing substantive is stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists and the description does not explain what the preview returns (affected objects, counts, conflicts) or how the id scopes the result. For an open-world preview endpoint with an undocumented parameter, the description leaves every decision an agent must make unresolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter is a bare 'id' string with no type detail, no mention of which model's id it is (requirement assignment? assessment?). The description provides no compensating explanation, so an agent must guess whether to pass an assignment id, a requirement id, or an object reference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Cascade preview:' names an action but not the resource — it never says what is being previewed (requirement assignments, deletion cascades, dependency graphs). The only specificity comes from the tool name, and the description is effectively a restatement of the 'cascade_info_retrieve' suffix. An agent cannot tell from the text what object this previews or what it returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. There is no mention of the sibling requirement_assignments_destroy or any other cascade_info / retrieve tool that might be the alternative, and no precondition such as 'call before a destructive operation'. The agent is left to infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assignments_createApi requirement assignments createD
API endpoint that allows requirement assignments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, which already covers the safety profile. The description adds nothing beyond a vague "viewed or edited" framing, and doesn't say what payload is required, what it returns, or whether the assignment is created synchronously. "Viewed" also sits awkwardly against a non-read-only create endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is concise, but the brevity comes from under-specification rather than efficiency. Nothing is front-loaded because there is essentially nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A create/mutation tool with a free-form undocumented body, no output schema, and no annotations explaining creation semantics needs far more description than one generic sentence. An agent cannot reliably invoke this tool from the given definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (body) with 0% schema description coverage and an untyped anyOf object/null, and the description offers no information about what fields the assignment body must contain. This is the worst case: an opaque payload with no documentation anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint allows requirement assignments "to be viewed or edited," which is generic DRF boilerplate that never states the tool actually creates an assignment. Since the name/title already say "create," the description is effectively tautological and even mildly misleading about the verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to create a requirement assignment, what prerequisites exist, or how this differs from the numerous sibling endpoints such as _update, _partial_update, _set_status_create, or _batch_action_create. The agent is left to infer everything from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assignments_destroyApi requirement assignments destroyDDestructiveIdempotent
API endpoint that allows requirement assignments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is technically available. However, the description actively works against them by framing the tool as a view/edit endpoint, and adds nothing about permanence, cascading effects on linked assessments, or required permissions for a delete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here comes from being auto-generated filler rather than from front-loading meaningful content. The one sentence present conveys no actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, single-parameter delete endpoint with no output schema and no parameter documentation, the description should at minimum state that it deletes the identified assignment permanently. It omits that entirely, leaving the agent without the information needed to call it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required 'id' parameter is completely undocumented. The description does not say the id refers to a requirement-assignment record, nor its format, so it fails to compensate for the schema gap on the only input that matters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint allows requirement assignments to be 'viewed or edited', which is generic boilerplate and never states the actual operation implied by the name and route: deleting a requirement assignment. An agent reading only this text could mistake it for a read/update endpoint and never realize it is a destructive delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, prerequisites, or alternatives are given. There is no hint that this should be selected only when a requirement assignment must be removed, nor any pointer to sibling tools such as requirement_assignments_partial_update or requirement_assignments_set_status_create for non-destructive changes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assignments_listApi requirement assignments listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| actor | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| ordering | No | ||
| max_pages | No | ||
| compliance_assessment | No |
TDQS
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 no behavioral context beyond that — 'inject optimized data into the serializer context' describes Django internals, not observable behavior such as pagination, filtering defaults, or what 'optimized' data is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no bloat, but the one sentence conveys nothing actionable and is not front-loaded around the caller's task. Brevity here is under-specification rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 10-parameter, zero-coverage list endpoint with no output schema needs the description to explain filtering, pagination (limit/offset/max_pages) and ordering. None of that is present, so an agent cannot construct a correct call from this definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 10 parameters with 0% schema description coverage and no enum values; fields like 'id', 'actor', 'folder', 'status' and 'compliance_assessment' carry no explanation in either the schema or the description. The description mentions no parameter at all, leaving the agent to guess types and filter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Override the list method to inject optimized data into the serializer context' is an internal implementation note, not a statement of what the tool does for a caller. Only the tool name hints that it lists requirement assignments; the description itself never names the resource or the operation meaningfully.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative routing guidance anywhere in the text. With hundreds of sibling *_list and *_retrieve tools, this description gives the agent nothing to distinguish this endpoint from ciso_assistant_api_requirement_assignments_retrieve or requirement_assignments_requirements_list_retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assignments_object_retrieveApi requirement assignments object retrieveCRead-onlyIdempotent
API endpoint that allows requirement assignments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, but the description says the endpoint allows assignments to be 'viewed or edited', implying a write capability that the annotations explicitly deny. Beyond that, nothing is added about scoping, permissions or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, but it is boilerplate that conveys almost no information, so brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-object read endpoint with no output schema and an ambiguous id parameter, the description should at minimum clarify that it fetches one requirement assignment by id and how it differs from the sibling list/retrieve tools; it does neither.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter ('id') with 0% schema description coverage; the description never says what the id identifies (a requirement assignment primary key) or its expected format, leaving the single parameter undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the resource (requirement assignments) but the verb is muddled: 'viewed or edited' describes a viewset, not this specific retrieve operation, and there is no differentiation from the many sibling tools such as requirement_assignments_retrieve, requirement_assignments_object_retrieve or requirement_assignments_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus the sibling retrieve/list/object_retrieve endpoints, and no mention of prerequisites (e.g. needing a valid assignment id). An agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assignments_partial_updateApi requirement assignments partial updateD
API endpoint that allows requirement assignments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that boilerplate—it does not say which fields can be modified, whether omitted fields are preserved (the defining behavior of a partial update), or what happens on an unknown id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but it is auto-generated filler that is under-specified rather than concise—no information is front-loaded because there is no information. The one sentence does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint taking an untyped body at 0% schema coverage with no output schema, the description should carry nearly the whole burden. Instead it is a generic DRF docstring, leaving the agent without the field list, the id semantics, or the partial-update behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the only meaningful parameter is a free-form `body` object with additionalProperties: true and no documented shape. The description is the only place the acceptable fields could be described, and it supplies none, so an agent cannot construct a valid body from this definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence names the resource (requirement assignments) but describes it as "viewed or edited," which conflates read and write and never states that this is specifically a PATCH/partial-update operation. With siblings like requirement_assignments_retrieve, _list, _update and _destroy in the same namespace, this wording gives an agent no basis for picking this tool over any of them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance: nothing distinguishes partial update (PATCH) from the full update sibling, nothing says an existing assignment id is required, and no prerequisites (permissions, related objects) are mentioned. The only signal is the tool name itself, which the description does not reinforce.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assignments_requirements_list_retrieveApi requirement assignments requirements list retrieveBRead-onlyIdempotent
Returns the scoped requirements list for this assignment.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is clear. The description adds that the list is 'scoped' to the assignment, but does not explain pagination, response shape, permissions, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no redundant or filler content. For a simple retrieval tool, this is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only tool with annotations covering safety, the description is minimally adequate. It still leaves 'scoped' undefined and, with no output schema, does not describe what the returned requirements list contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, and schema description coverage is 0%, so the schema does not explain what the 'id' represents. The description partially compensates by phrasing it as 'for this assignment', implying the id identifies a requirement assignment, but it does not specify the id format or expected value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Returns') and names the resource ('scoped requirements list for this assignment'), making the operation understandable. However, it does not differentiate this tool from sibling requirement-assignment retrieval endpoints such as requirement_assignments_retrieve or requirement_assignments_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives, nor any prerequisites or conditions. It only implies that an assignment id is needed because it says 'for this assignment'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assignments_retrieveApi requirement assignments retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive. The description adds a genuinely non-obvious behavioral trait: unauthorized related fields are masked, which tells the agent the response may be partially redacted by permission. That is useful context beyond the annotations, though nothing is said about pagination, errors, or what 'related fields' means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so it is concise, but the brevity comes from under-specification rather than tight writing – the one sentence conveys almost no usable information about the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description bears responsibility for describing the return value; all it says is 'a single object' with masked fields, without naming the model, its key fields, or the redaction rules. The undefined 'id' parameter adds a second gap, making the definition insufficient for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, 'id', with 0% schema description coverage, and the description says nothing about it – no indication of whether it is a UUID, integer-as-string, or which entity's id it is. With a single undocumented parameter, the description should have compensated and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only states 'Return a single object with unauthorized related fields masked' – it never names the resource being returned. The resource (requirement assignment) is inferable only from the tool name/title, so the sentence largely restates the name with an output hint rather than declaring what the tool operates on.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the closely related siblings (requirement_assignments_object_retrieve, requirement_assignments_list, requirement_assignments_retrieve) that an agent must choose between. The agent is left to infer selection entirely from tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assignments_set_status_createApi requirement assignments set status createC
Transition assignment to a new status.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, idempotentHint=false, destructiveHint=false, and 'transition' is consistent with that. However, nothing is added about what the status change does, whether prior status is lost, required permissions, or what the response contains for a non-idempotent mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler. The problem is under-specification rather than verbosity, so it scores reasonably on structure alone.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a state-changing tool with no output schema and minimal annotations, the description should explain target statuses, preconditions and effects. Instead it omits the most decision-relevant information and leaves the parameter undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single 'id' parameter is completely unexplained by the description. Most critically, the description promises a status transition but never indicates how the target status is supplied, and the schema contains no status field at all, leaving the call mechanics ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a verb (transition) and a resource (assignment), so the general intent is graspable. But 'assignment' is undefined in this context and there is no differentiation from close siblings like requirement_assignments_update or requirement_assignments_partial_update, which plausibly also mutate assignments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when this endpoint should be used instead of update/partial_update, nor any precondition (e.g. which assignment states can be transitioned). The agent must guess between three mutation siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_assignments_updateApi requirement assignments updateCIdempotent
API endpoint that allows requirement assignments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the description's burden is the semantics of a full update: whether omitted fields are cleared, what permissions are required, and what is returned. None of that is disclosed, and 'viewed or edited' slightly suggests read capability on a non-read-only endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence with no filler, so it is concise, but the brevity comes from under-specification rather than efficiency - the one sentence carries almost no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, an opaque free-form body, and zero parameter documentation, the description should cover payload expectations, replacement semantics, and error/auth behavior. It covers none of these, so an agent cannot call it safely from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the 'body' parameter is an untyped free-form object with a null default, so the description must explain what fields the payload accepts. It says nothing, leaving the most consequential parameter entirely opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence restates the tool name ('requirement assignments' + 'edited') without adding specificity, and the 'viewed or edited' framing blurs what is nominally an update/PUT operation. It gives no way to tell this apart from the sibling ciso_assistant_api_requirement_assignments_partial_update or _retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this full update versus the partial_update, create, or batch_action siblings, and no prerequisites or preconditions are stated. The only signal is the 'viewed or edited' phrasing, which is too vague to route an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_mapping_sets_batch_action_createApi requirement mapping sets batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly=false, destructive=false, idempotent=false and openWorld=true; the description adds nothing about what a batch action mutates, which action verbs are supported, whether the operation is atomic, or what permissions are required. For a non-idempotent write endpoint with an untyped body, that is a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, which is structurally fine and front-loaded, but at this length it is under-specification rather than conciseness. The single sentence carries no actionable content for a mutating endpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a mutation tool with an unspecified request body, no output schema, and annotations that only cover safety hints, the description should at minimum identify the target resource and the body contract. It supplies neither, leaving the agent unable to invoke it correctly from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter (body) with an opaque anyOf object/null schema and 0% description coverage, and the description does not explain what the body must contain (e.g. an ids list plus an action selector). 'Multiple objects' is the only hint, far short of compensating for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Perform a batch action on multiple objects,' which restates the name's 'batch_action' token and drops the resource entirely. It never mentions requirement mapping sets, so among the dozens of sibling *_batch_action_create tools an agent cannot tell which entity this operates on without parsing the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this bulk endpoint versus the sibling single-record tools (requirement_mapping_sets_update, partial_update, destroy) or how to obtain the identifiers first via requirement_mapping_sets_list. No prerequisites, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_mapping_sets_cascade_info_retrieveApi requirement mapping sets cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is known without the description. The word "preview" weakly reinforces that this is a non-mutating look-ahead, but nothing explains what the cascade covers, how deep it goes, or what a caller should expect in the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Brevity here is under-specification rather than conciseness: two words with a trailing colon convey almost no actionable information and give the agent nothing front-loaded to reason about.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain what a "cascade preview" returns (affected nodes, counts, dependency tree). With one undocumented parameter and no return-value context, the definition is not sufficient to call the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter "id" has 0% schema description coverage, so the description carries the burden and adds nothing. An agent must infer from the tool name alone that "id" is the requirement mapping set identifier rather than, say, a requirement node id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment, not a statement of what the tool does. It hints at a preview of cascade effects for requirement mapping sets (implicit from the name) but never names the resource or the operation, and does not distinguish it from the near-identical cascade_info endpoints on every other resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus ciso_assistant_api_requirement_mapping_sets_retrieve, _object_retrieve, or _graph_data_retrieve. An agent has no basis for choosing this endpoint over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_mapping_sets_createApi requirement mapping sets createD
api_requirement_mapping_sets_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, and the description adds nothing on top of them. It does not contradict the annotations, but nowhere does it explain that this performs a write, whether authentication or specific permissions are needed, or what happens on repeated calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single identifier with zero waste, but it carries no content either. Brevity here reflects under-specification rather than disciplined writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with an opaque free-form body, no output schema, and no annotations covering payload shape, the description should explain the request structure and result. It provides none of this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'body' parameter has 0% schema description coverage and is typed only as an unconstrained object or null. The description supplies no field names, structure, or required content, leaving the agent with no way to construct a valid payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated verbatim ('api_requirement_mapping_sets_create'), so the only information an agent gets is what it could already infer from the identifier. It implies a create operation on requirement mapping sets, but adds no scope, no target resource detail, and no differentiation from siblings such as requirement_mapping_sets_batch_action_create or requirement_mapping_sets_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to use this tool, what prerequisites exist, or which sibling to prefer. The description does not even hint at a use case, so the agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_mapping_sets_destroyApi requirement mapping sets destroyDDestructiveIdempotent
api_requirement_mapping_sets_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that: no statement of what data is removed, whether related nodes/requirements cascade, or whether the delete is recoverable. It does not contradict annotations, so no 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is empty — a bare identifier rather than a front-loaded sentence. There is no information to be concise about, so this is under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema and an undocumented required identifier, the description omits every piece of information an agent would need. It is entirely inadequate for the tool's risk profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter 'id' with 0% schema description coverage, so the description must compensate and does not. It never clarifies whether the id is the mapping set's numeric PK, a ref_id, or a slug, nor what happens on an invalid or missing id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated verbatim ('api_requirement_mapping_sets_destroy'), which is a tautology rather than a statement of purpose. It never says what a requirement mapping set is or what deleting one entails, and it does not distinguish this from the many other *_destroy siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no mention of alternatives such as requirement_mapping_sets_partial_update or the batch_action variant. An agent has no basis to decide when this is the right tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_mapping_sets_graph_data_retrieveApi requirement mapping sets graph data retrieveCRead-onlyIdempotent
api_requirement_mapping_sets_graph_data_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered without the description. The description adds nothing beyond that — no indication of what the graph payload contains, its size, or whether it depends on the mapping set existing. With annotations carrying the burden, this is a low-value but non-contradictory entry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is an identifier rather than prose; there is no front-loaded statement of purpose and no structure. Brevity here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is the only place that could say what 'graph data' returns (nodes, edges, layout). It says nothing, leaving the agent unable to judge the response shape or whether the call is worth making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is fully described, so there is nothing for the description to disambiguate. Baseline 4 applies for a parameterless operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the operation ID verbatim: 'api_requirement_mapping_sets_graph_data_retrieve'. It only weakly implies a retrieve of graph data for requirement mapping sets, and the phrasing is machine-generated snake_case rather than a stated purpose. An agent gets no more than it already infers from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is named. Notably, a sibling `ciso_assistant_api_requirement_mapping_sets_graph_data_retrieve_2` exists and the description gives no basis for choosing between them, nor against `..._retrieve` or `..._object_retrieve`.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_mapping_sets_graph_data_retrieve_2Api requirement mapping sets graph data retrieve 2DRead-onlyIdempotent
api_requirement_mapping_sets_graph_data_retrieve_2
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered structurally. The description adds no behavioral context at all — nothing about what 'graph data' contains, its shape, size, or whether the id is a mapping set, framework, or node identifier.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token with no waste, but this is under-specification rather than conciseness — there is no front-loaded statement of purpose, scope, or constraints to compress.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameter documentation, and a description that merely echoes the name, an agent has nothing to work with beyond annotations. For a graph-data retrieval endpoint with a required identifier, this is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the single required 'id' parameter is undocumented in both the schema and the description. The description does not say what the id identifies or its expected format, leaving the agent to guess whether it is a mapping-set UUID or some other entity key.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim, so it only restates the identifier rather than explaining the operation. An agent can infer 'retrieve graph data for a requirement mapping set' from the slug alone, but the description contributes nothing, and it does not distinguish this tool from the sibling 'ciso_assistant_api_requirement_mapping_sets_graph_data_retrieve' (without the _2 suffix).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or which alternative to pick. The near-duplicate sibling '_graph_data_retrieve' makes the absence of routing guidance especially costly, since the agent has no basis to choose between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_mapping_sets_listApi requirement mapping sets listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| provider | No | ||
| max_pages | No |
TDQS
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 covered. The description adds nothing actionable beyond that — it does not disclose pagination behavior for limit/offset/max_pages, result ordering, or what 'optimized data' means for callers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is concise. However, the brevity comes from omitting necessary content rather than from tight writing, and the sentence leads with an irrelevant implementation detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A seven-parameter list endpoint with no output schema and no schema documentation requires the description to carry the full load. Instead it explains a serializer-context optimization, leaving resource identity, filtering, pagination, and return shape entirely undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and all seven parameters are untyped anyOf with no names explained (id, limit, offset, search, ordering, provider, max_pages). The description supplies zero meaning for any of them, leaving the agent to guess at pagination and filter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text describes an internal implementation detail ('override the list method to inject optimized data into the serializer context') rather than what the tool does. An agent cannot confidently infer that this lists requirement mapping sets, or what a 'mapping set' returns, from this wording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when to prefer a sibling such as ciso_assistant_api_requirement_mapping_sets_retrieve or requirement_mapping_sets_graph_data_retrieve, or what prerequisites exist. The sentence is a code comment, not usage instruction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_mapping_sets_object_retrieveApi requirement mapping sets object retrieveDRead-onlyIdempotent
api_requirement_mapping_sets_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description contributes nothing beyond that—no mention of what record is returned, permission requirements, or error behavior when the id is unknown.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is under-specified rather than concise—there is no front-loaded statement of action, scope, or return. The one 'sentence' is just the identifier string.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve-by-id tool with an undocumented path parameter, no output schema, and a crowd of near-identical siblings, the definition is completely inadequate. An agent cannot tell what object type is fetched or how to disambiguate it from the other mapping-set endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, and the description provides no clarification of what kind of identifier this is (UUID, ref, slug) or where to obtain it. With low coverage, the description needed to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal tool name repeated back ('api_requirement_mapping_sets_object_retrieve'), a tautology that adds no verb, resource explanation, or scope. It also gives no hint about how this differs from the sibling 'requirement_mapping_sets_retrieve' or 'requirement_mapping_sets_list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to use this versus 'requirement_mapping_sets_list', 'requirement_mapping_sets_retrieve', or 'requirement_mapping_sets_object_retrieve' variants. The agent must infer everything from the naming convention alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_mapping_sets_partial_updateApi requirement mapping sets partial updateD
api_requirement_mapping_sets_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds nothing beyond the annotations (readOnlyHint=false, idempotentHint=false, openWorldHint=true). It does not describe what fields can be patched, whether omitted fields are preserved, or whether the target must exist — all important for a partial-update mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it says nothing; this is under-specification, not conciseness. No front-loaded verb+resource statement exists to anchor the reader.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 0% parameter documentation, no output schema, and dozens of near-identical siblings, the description supplies none of the context needed. An agent cannot confidently pick this over requirement_mapping_sets_update.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters. The description does not clarify that 'id' identifies the mapping set to patch or that 'body' is an arbitrary object of fields to change — the two things the schema leaves entirely undefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's slug restated verbatim ('api_requirement_mapping_sets_partial_update'), which is tautology rather than explanation. It does not say what a requirement mapping set is, what 'partial update' modifies, or how it differs from the many sibling update/partial_update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus ciso_assistant_api_requirement_mapping_sets_update, requirement_mapping_sets_create, or the object_retrieve siblings. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_mapping_sets_provider_retrieveApi requirement mapping sets provider retrieveCRead-onlyIdempotent
api_requirement_mapping_sets_provider_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered by structured data. The description contributes no additional behavioral context — nothing about what 'provider' means in this context, what data is returned, or whether the call is scoped to a specific library/framework. No contradiction, but zero added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single identifier-like string with no sentence structure and no front-loading of meaningful information. It is short, but by under-specification rather than concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-output-schema read endpoint, the description gives the agent nothing to work with: the meaning of the 'provider' path segment, what entity it returns, and why one would call it instead of requirement_mapping_sets_retrieve are all left unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the parameter-semantics baseline is 4. There is nothing the description could add about inputs that the empty schema does not already settle.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool name repeated verbatim: 'api_requirement_mapping_sets_provider_retrieve'. It technically signals a read of requirement-mapping-set provider data, but it is a tautology that adds nothing beyond the name/title and does not distinguish it from siblings such as requirement_mapping_sets_retrieve or object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling to prefer (e.g., requirement_mapping_sets_retrieve vs. graph_data_retrieve vs. this 'provider' variant). The reader must infer everything from the URL-like name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_mapping_sets_retrieveApi requirement mapping sets retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is covered structurally. The description does add one genuine behavioral fact beyond the schema: unauthorized related fields are masked in the response. It does not say which fields, whether masking depends on role, or what happens on missing/inaccessible ids.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, but its brevity comes at the cost of under-specification rather than efficient density. It is front-loaded but says too little to earn its place as the only guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-record read with one required id and no output schema, the description should at minimum name the entity, characterize the id, and differentiate from object_retrieve/list. It does none of these, leaving the agent to infer the resource from the tool name alone in a very crowded sibling namespace.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required 'id' parameter is undocumented in both schema and description — no format (UUID vs ref), no indication it identifies a requirement mapping set. The description never mentions the parameter, so it adds nothing over the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Return a single object', never naming the resource (a requirement mapping set) or what it represents. Everything an agent learns about the target entity must come from the tool name, not the description, making it effectively a restatement of the 'retrieve' suffix with one extra clause.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many near-identical siblings, notably ciso_assistant_api_requirement_mapping_sets_object_retrieve, _list, and _cascade_info_retrieve. The distinction between 'retrieve' and 'object_retrieve' is left entirely unexplained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_mapping_sets_updateApi requirement mapping sets updateDIdempotent
api_requirement_mapping_sets_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
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 safety profile is covered structurally. The description adds nothing beyond that: no mention of required permissions, whether the whole resource is replaced, or what happens to omitted fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is under-specification rather than conciseness: the single token merely duplicates the name and carries no information an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an open-world, free-form body object, no output schema, and zero parameter documentation, the description provides none of the context needed to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description supplies no parameter information. The 'body' parameter is an untyped object with additionalProperties=true, meaning the agent has no idea what fields to send, and the description does nothing to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim ('api_requirement_mapping_sets_update'), which only restates the identifier. An agent can infer it updates a requirement mapping set, but nothing is said about what a mapping set is or what updating it entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as api_requirement_mapping_sets_partial_update (PATCH) or api_requirement_mapping_sets_create. The distinction between full update and partial update is left entirely to the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_nodes_batch_action_createApi requirement nodes batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that — no mention of which batch actions exist, whether failures are atomic, or what permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no waste, but the brevity stems from under-specification rather than disciplined editing. Front-loading is fine yet the content is too thin to earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no parameters, yet a batch-action endpoint inherently needs an action type and a set of target IDs; the description explains neither, nor does it say what a caller should expect on partial failure. For a write operation this leaves the agent unable to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema declares zero properties with 100% coverage, so there are no parameters for the description to explain and the baseline of 4 applies. The description neither helps nor misleads here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'perform a batch action on multiple objects', which restates the name's generic verb without naming the resource (requirement nodes) or the kinds of actions available. Against dozens of sibling *_batch_action_create tools it provides no differentiation whatsoever.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this bulk endpoint versus the single-object siblings like requirement_nodes_update or requirement_nodes_partial_update, and no prerequisites or payload expectations. The agent must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_nodes_cascade_info_retrieveApi requirement nodes cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true. The description adds no behavioral context such as what a cascade preview contains, whether it has side effects, or what permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from under-specification rather than efficient communication. The single two-word phrase does not front-load any actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieval tool with no output schema and an undocumented required ID, the description is too thin to be complete. The annotations cover safety, but the description leaves the tool's actual behavior and return value undefined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required 'id' parameter with 0% schema description coverage, and the description does not mention the parameter at all. It provides no information about what the ID identifies or how it should be formatted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only 'Cascade preview:' and never states the resource or verb. It does not distinguish this tool from the many other *_cascade_info_retrieve siblings, and the purpose must be inferred entirely from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or which alternative to choose. The phrase 'Cascade preview' implies a general context but leaves all invocation decisions unstated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_nodes_createApi requirement nodes createD
API endpoint that allows requirements to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, but the description adds nothing about what a create does — no mention of required fields, side effects, permission/scope required, or whether re-posting duplicates a node (relevant given idempotentHint=false). The 'viewed' phrasing also misleads for a write endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no bloat, but that brevity is under-specification, not conciseness — not one word of it helps an agent decide or invoke correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create endpoint with an untyped body, no output schema, and only coarse annotations, the description should at minimum say what a requirement node is and what the payload needs. It supplies neither, leaving the agent unable to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is exactly one parameter, an opaque 'body' object with additionalProperties=true and 0% schema description coverage. The description supplies no information whatsoever about what the body must contain for a requirement node, so the parameter is effectively undocumented in both schema and prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the endpoint boilerplate ('allows requirements to be viewed or edited') rather than stating that this tool creates a requirement node. It doesn't even agree with the tool name's 'create' action, and it does nothing to distinguish this from the many sibling requirement_nodes endpoints (retrieve, list, update, partial_update, destroy).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus ciso_assistant_api_requirement_nodes_update, _partial_update, _batch_action_create, or _list. The generic 'viewed or edited' phrasing gives no trigger condition or prerequisite for calling a create endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_nodes_destroyApi requirement nodes destroyDDestructiveIdempotent
API endpoint that allows requirements to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, readOnlyHint=false, and openWorldHint=true, yet the description claims the endpoint allows requirements to be 'viewed or edited' — the opposite of a destructive delete. It also omits irreversibility, cascading effects, and permission requirements. This is an annotation contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the single sentence conveys incorrect information about the operation, so its brevity reflects under-specification rather than efficiency. Nothing meaningful is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive mutation with no output schema, no annotations explaining consequences, and no description of what gets deleted or how related requirement assessments are affected. An agent has essentially no basis to call this safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required 'id' parameter has 0% schema description coverage, so the description must compensate but adds nothing — no indication of whether the id is a UUID, integer, or reference path, nor what happens if the id is unknown.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (requirements) but assigns the wrong operation: 'viewed or edited' for a tool whose name and annotations indicate deletion. An agent reading only the description would not learn that this removes a requirement node, making the stated purpose misleading rather than merely vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this rather than the sibling partial_update, update, batch_action_create, or retrieve tools. There is no mention of prerequisites, permanence, or the conditions under which deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_nodes_inspect_requirement_retrieveApi requirement nodes inspect requirement retrieveCRead-onlyIdempotent
API endpoint that allows requirements to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says requirements can be 'viewed or edited', while the annotations declare readOnlyHint=true and destructiveHint=false, so the text implies a write capability the endpoint does not expose. Beyond that, it adds nothing the annotations do not already cover and gives no behavioral context (missing-id behavior, permission requirements, what a requirement node contains).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, so it is certainly concise and front-loaded, but that brevity comes from boilerplate rather than efficiency: the only content present is vague and partially misleading, so the sentence does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema and no parameter documentation, the description should at minimum say what object is returned and confirm it is a read. Neither is present, and because there is no output schema the agent gets no fallback information about the returned requirement node shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage and one required 'id' string parameter, so the description carries the full burden. It says nothing about what the id identifies (requirement node vs. requirement assessment vs. framework requirement) or its expected format, leaving the schema's bare 'string' unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'API endpoint that allows requirements to be viewed or edited' is generic Django-REST boilerplate that only loosely restates the tool name. It never states that this is a single-object retrieval by identifier, nor does it distinguish it from the many sibling readers such as requirement_nodes_retrieve, requirement_nodes_object_retrieve, requirement_nodes_list, or requirement_nodes_cascade_info_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no prerequisites (e.g. permission on the requirement's domain or folder). An agent has to infer from the name alone that this fetches one node by id rather than listing or inspecting related nodes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_nodes_listApi requirement nodes listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| urn | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| framework | No | ||
| max_pages | No |
TDQS
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 does add one behavioral hint beyond that: the response is served from an optimized serializer context, implying enriched/prefetched payloads. But it says nothing about pagination, filterable fields, or default result size, so it is marginally better than the annotation baseline only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single, front-loaded sentence with no padding, so in terms of size it is appropriately concise. However, the brevity comes at the cost of content: the sentence is spent on an implementation note rather than on the information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An 8-parameter, filter/pagination-capable list endpoint with no output schema and 0% schema description coverage demands substantial explanation. The description explains none of it, leaving the agent unable to correctly supply search, ordering, limit/offset, or framework filters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters (id, urn, limit, offset, search, ordering, framework, max_pages). The description supplies no meaning for any of them, so the agent has zero guidance on filter syntax, pagination semantics, or what 'framework' references. Under low coverage the description is required to compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates an implementation detail ('Override the list method to inject optimized data into the serializer context') rather than stating that it lists requirement nodes. An agent learns nothing about the resource being listed or the scope, only about an internal DRF override. It is close to a tautological restatement of the name/title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance whatsoever. With siblings like requirement_nodes_retrieve, requirement_nodes_object_retrieve, and requirement_nodes_inspect_requirement_retrieve, an agent has no cue about when this list endpoint is the right choice versus single-object retrieval. Nothing in the text distinguishes it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_nodes_object_retrieveApi requirement nodes object retrieveDRead-onlyIdempotent
API endpoint that allows requirements to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true and destructiveHint=false, but the description says the endpoint allows requirements to be "edited" — directly contradicting the structured read-only declaration. Beyond that contradiction there is no information about permissions, response shape, or scoping.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but it is boilerplate that carries essentially no information; brevity here reflects under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no explanation of the required id, no clarification of resource semantics, and a claim of editability that conflicts with annotations. Nothing an agent needs to call this correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter `id` has 0% schema description coverage, and the description never mentions it. With one undocumented identifier parameter, the description must explain its meaning (e.g., requirement node UUID) and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the endpoint in generic DRF boilerplate ("API endpoint that allows requirements to be viewed or edited") without stating the specific resource (requirement nodes) or that this is a single-object fetch by id. An agent cannot distinguish it from the many sibling requirement-node tools (`requirement_nodes_retrieve`, `requirement_nodes_update`, `requirement_nodes_list`) without reading the schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool versus `requirement_nodes_list`, `requirement_nodes_object_retrieve`, `requirement_nodes_partial_update`, or `requirement_nodes_update`. The only implied guidance ("viewed") is undercut by "edited", leaving no reliable selection heuristic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_nodes_partial_updateApi requirement nodes partial updateC
API endpoint that allows requirements to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare mutation semantics (readOnlyHint=false, non-idempotent, non-destructive, open-world), so the description only needs to add context such as partial-update behavior or auth requirements. Instead it offers a generic 'viewed or edited' statement that says nothing about what is changed, what is left untouched, or what the body accepts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is brief, but its brevity comes from under-specification rather than efficient communication. It is not front-loaded with the actual partial-update action or its scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a required id and an open body object, the description omits partial-update semantics and parameter meaning. Annotations and the schema title do little to fill the gap, so the definition is not complete enough to call safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not mention the required id or the body parameter at all. It fails to compensate for undocumented parameters, leaving the agent without meaning for either field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('requirements') and says it can be 'viewed or edited,' but it never states 'partial update' or 'requirement nodes' and does not distinguish this mutation endpoint from sibling retrieve/update/partial_update tools. That is a vague purpose rather than a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no alternative sibling named. The phrase 'viewed or edited' does not tell an agent when to choose partial_update over update or retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_nodes_retrieveApi requirement nodes retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 genuinely useful behavioral fact: unauthorized related fields are masked in the response, which tells the agent the payload may be redacted. It stops there, saying nothing about which related fields or what the object contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, so it is concise. But the brevity comes from under-specification rather than tight editing, so the one sentence does not earn its place as a sufficient definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve-by-id endpoint with no output schema and no param documentation, the agent needs to know what resource is fetched and roughly what comes back. The masking note is helpful, but the resource identity and payload shape are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% on the single required 'id' parameter, so the description has to compensate and does not. It never says that the id identifies a requirement node, nor anything about id format or scope.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only states the return shape ('a single object'), which restates the 'retrieve' verb without naming the resource being retrieved. Nothing in the text says this fetches a requirement node; the resource is only knowable from the tool name, and there is no differentiation from the sibling requirement_nodes_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the closely named alternatives (requirement_nodes_object_retrieve, requirement_nodes_cascade_info_retrieve, requirement_nodes_list). The agent must infer from the name alone that this is the by-id fetch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_nodes_serve_image_retrieveApi requirement nodes serve image retrieveCRead-onlyIdempotent
Serve an image attachment belonging to this requirement node.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| attachment_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the scoping detail that the image belongs to a requirement node, but it does not describe what is returned (binary stream, URL, content type) or any auth constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is appropriately sized for a small retrieval endpoint, though it could have used the space to clarify parameters or return behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an image-serving endpoint with no output schema and 0% parameter description coverage, the description omits critical context: what the response looks like, whether it is a binary image stream, and how the two IDs relate. It is not complete enough for an agent to call this confidently without inspecting the endpoint further.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for two undocumented required parameters. It only vaguely implies that one parameter identifies the requirement node and the other an attachment, but never distinguishes 'id' from 'attachment_id' explicitly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Serve') and resource ('an image attachment belonging to this requirement node'), making the core action understandable. It does not explicitly distinguish itself from nearby siblings like requirement_nodes_upload_image_create or frameworks_serve_image_retrieve, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no indication of when retrieval would fail or be inappropriate. The agent must infer usage entirely from 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.
ciso_assistant_api_requirement_nodes_updateApi requirement nodes updateDIdempotent
API endpoint that allows requirements to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is known. The description adds nothing beyond them: it does not say whether this is a full replacement of the requirement node, what happens to omitted fields (merge semantics), or that it requires write authorization. Saying requirements can be "viewed" also sits awkwardly against 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, but its brevity comes from under-specification rather than efficiency. It is not front-loaded with the operation being performed or what a caller must supply.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with zero schema documentation, no output schema, and a free-form `body`, the description should explain the payload shape and edit semantics. It covers none of this, leaving an agent unable to invoke the tool correctly from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description supplies no parameter information at all. The opaque `body` object (anyOf object/null) is completely undocumented, so an agent has no idea which requirement-node fields are accepted or required beyond `id`.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint that allows requirements to be viewed or edited" restates the tool name rather than defining the operation, and it conflates reading with writing. It gives no way to distinguish this from siblings like requirement_nodes_partial_update, requirement_nodes_retrieve, or requirement_nodes_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of prerequisites, and no routing to the partial_update sibling that would otherwise cover partial edits. The phrase "viewed or edited" is at best an implied hint and at worst points an agent at a read capability this endpoint does not offer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_requirement_nodes_upload_image_createApi requirement nodes upload image createC
Upload an image file and attach it to this requirement node.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already disclose that this is a non-idempotent, open-world mutation that is not destructive. The description adds that the image is attached to the requirement node, but it does not say whether an existing image is replaced, what authentication is required, or what happens on upload failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. Its brevity is appropriate, although the space saved is not used to add necessary behavioral or parameter details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool that uploads a file, the description is too thin given the schema has no file parameter and there is no output schema. It leaves an agent unable to determine how to actually pass the image or what will happen to any existing attached image.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it does not explain that the required id parameter is the requirement node identifier. It also does not clarify how the image file itself is supplied, since the schema exposes only id and no file field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: uploading an image file and attaching it to a requirement node. It clearly distinguishes the upload operation from the sibling serve_image_retrieve operation, though it does not explicitly differentiate itself from other upload-image tools such as frameworks_upload_image_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does but gives no guidance on when to use it, when not to use it, or which alternative upload tools to choose. It also omits prerequisites such as required permissions, supported file types, or size limits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_asset_assessments_batch_action_createApi resilience asset assessments batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true; the description adds nothing about what gets mutated, whether deletes are possible in a "batch action", permission requirements, or atomicity/partial-failure behavior. No contradiction with annotations, but zero added value for a high-risk multi-object mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, but it is under-specified rather than concise — the brevity comes from omitting content rather than from tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A bulk-mutating endpoint on resilience asset assessments with no parameters, no output schema, and thin annotations: the description should carry the full burden of explaining the action vocabulary, target selection, and effect, and it does none of this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters, so there is nothing for the schema to document; the description likewise says nothing about the expected action type or object identifiers. For a batch endpoint that almost certainly requires a payload (ids + action), this silence leaves the agent without any semantics — only the zero-parameter baseline keeps this above a 2.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence "Perform a batch action on multiple objects" restates the title's generic wording without naming the resource (resilience asset assessments) or the action being performed. An agent cannot distinguish it from the dozens of sibling `*_batch_action_create` tools, nor guess what a "batch action" entails here.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the per-object siblings (`..._assets_..._partial_update`, `..._update`, `..._destroy`) or the other 100+ batch-action tools. No prerequisites, no exclusions, no indication of what payload to send.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_asset_assessments_cascade_info_retrieveApi resilience asset assessments cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered structurally. The description adds essentially nothing beyond the word 'preview' – it does not explain what the cascade preview contains, whether it is computed on the fly, or what the caller should expect, which is the main value this description could have provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely short, but this is under-specification rather than conciseness: there is no front-loaded statement of purpose, scope, or return behavior. The phrase 'Cascade preview:' alone does not earn its place as a useful tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one required but undocumented parameter, no output schema, and no explanation of what a cascade preview returns or how it should be used, the definition is far too thin for an agent to invoke this tool correctly. The annotations supply safety hints but cannot fill the missing semantic context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the sole required parameter is an undocumented 'id'. The description does not clarify whether this id refers to the resilience asset assessment, the object being cascaded, or something else, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only 'Cascade preview:' – it gestures at a preview operation but never states what cascade is previewed, over which resource, or what the result represents. It largely restates a fragment of the tool name rather than defining a specific verb+resource action, leaving the agent to infer that this previews cascade effects on resilience asset assessments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool versus siblings such as ciso_assistant_api_resilience_asset_assessments_retrieve, _list, or _destroy. No prerequisites, no context for whether it is meant before a deletion or update, and no exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_asset_assessments_createApi resilience asset assessments createD
api_resilience_asset_assessments_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, so the safety profile is carried by structured data. The description adds nothing about payload expectations, auth needs, side effects or response shape, so it contributes zero 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token with no waste, but that brevity is under-specification rather than conciseness. There is no front-loaded statement of purpose or scope, so nothing earns its place because nothing is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world create operation with an opaque request body, no output schema, and no parameter documentation, the description is completely inadequate. An agent lacks everything needed to call this correctly, including what a resilience asset assessment even represents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one free-form 'body' parameter with 0% schema description coverage and an anyOf object/null type, which is essentially undocumented. The description supplies no field names, structure, or required content, leaving the agent with no way to construct a valid request.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim ('api_resilience_asset_assessments_create'), a pure tautology. It adds no verb-plus-resource statement beyond the identifier, and gives no indication of what a 'resilience asset assessment' is or what creating one entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the many siblings (e.g., resilience_asset_assessments_update, partial_update, batch_action_create) that an agent must choose between. Everything is left to inference from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_asset_assessments_dependency_graph_retrieveApi resilience asset assessments dependency graph retrieveBRead-onlyIdempotent
Returns graph data for visualizing asset dependencies.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that this is a read-only, idempotent, non-destructive, open-world retrieval operation. The description adds some context by identifying the output as graph data for dependency visualization, but it does not describe permissions, response shape, or other behavioral details beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It communicates the core operation efficiently, even though it is sparse overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieval tool with an undocumented required id and no output schema, the description is too thin. It does not explain what the id represents or what the returned graph data contains, so an agent lacks enough context to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter, id, with 0% description coverage, and the description never explains what that id identifies. It also does not clarify whether the id refers to an asset assessment, an asset, or another object. With low schema coverage, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific operation and resource: it returns graph data for visualizing asset dependencies. It is clear enough to understand the basic function, but it does not distinguish this dependency-graph endpoint from sibling graph endpoints such as assets_graph_retrieve or entities_graph_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like the asset assessment list/retrieve endpoints or other graph retrieval tools. The only implied usage is that it supports visualization, but no conditions, prerequisites, or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_asset_assessments_destroyApi resilience asset assessments destroyDDestructiveIdempotent
api_resilience_asset_assessments_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true, and idempotentHint=true, so the safety profile is covered structurally. The description adds nothing beyond the name — no statement about cascade effects, permanent data loss, or authorization requirements that a delete operation would warrant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single duplicated identifier — technically short, but this is under-specification rather than conciseness. There is no front-loaded statement of purpose to build on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema, an undocumented parameter, and no annotations explaining consequences, the description provides nothing an agent needs in order to call it safely or correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter (id) with 0% schema description coverage, and the description supplies no meaning at all — not even that 'id' identifies the assessment to delete. With a non-empty parameter set and no compensation, this is a clear gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the tool's own identifier restated, so it is tautological rather than explanatory. An agent can infer 'delete a resilience asset assessment' from the name tokens, but nothing in the description states the verb-resource relationship or distinguishes it from sibling destroy tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the many sibling destroy endpoints (ciso_assistant_api_asset_class_destroy, ciso_assistant_api_resilience_business_impact_analysis_destroy, etc.), nor any preconditions such as required permissions or irreversibility warnings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_asset_assessments_listApi resilience asset assessments listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| bia | No | ||
| asset | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety behavior is covered. The description adds nothing useful about response shape, pagination, filtering behavior, or ordering; 'inject optimized data into the serializer context' is an internal implementation detail irrelevant to the caller.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is an implementation note rather than a front-loaded purpose statement. Brevity does not help when the content is aimed at maintainers instead of tool callers.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an eight-parameter list tool with no output schema, the description omits the resource, filter semantics, pagination, and expected return. It is completely inadequate as caller-facing documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are eight parameters (id, bia, asset, limit, offset, search, ordering, max_pages) with 0% schema description coverage, and the description does not explain any of them. It fails to compensate for the schema gap in even a minimal way.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an implementation comment about overriding a DRF list method and injecting serializer context; it never states that the tool lists resilience asset assessments or what those records represent. The agent must infer the resource from 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this list endpoint, what the filters mean, or how it differs from sibling retrieve/create/update tools for the same resource. The sentence only describes an internal optimization, not usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_asset_assessments_metrics_retrieveApi resilience asset assessments metrics retrieveDRead-onlyIdempotent
api_resilience_asset_assessments_metrics_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so the safety profile is covered; the description adds nothing beyond them — no note on what metrics are computed, whether they are cached, or what the 'id' refers to. With annotations present the bar is lower, but zero added context still warrants a low score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Not verbose but under-specified: a single snake_case identifier is not a description, and there is no front-loaded statement of purpose or result. Brevity here is a defect, not economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotation detail about the payload, so the description was the only channel to explain the returned metrics shape and the id's meaning — and it supplies neither. Given the dense family of assessment endpoints, an agent cannot reliably pick or call this tool from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required 'id' parameter with 0% schema description coverage and no mention in the description. The agent cannot tell whether the id is an assessment id, asset id, or metrics key — exactly the case where the description must compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name, adding no clarifying noun or scope. A reader can guess it retrieves metrics for a resilience asset assessment, but the description itself is tautological rather than explanatory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this metrics endpoint versus the sibling assessment retrieve/list/object_retrieve tools, no prerequisites, and no exclusions. The many near-identical siblings make this omission costly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_asset_assessments_object_retrieveApi resilience asset assessments object retrieveCRead-onlyIdempotent
api_resilience_asset_assessments_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description contributes nothing beyond that — no note on what the record contains, whether missing IDs error out, or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity is under-specification rather than economy — the single token restates the name and no information is front-loaded or structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only retrieve with no output schema, the calling mechanics are inferable from the schema and annotations alone. Still, an agent gets no signal about the returned entity (a resilience asset assessment) or its relationship to BIA/resilience siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single required parameter 'id' is undocumented in both schema and description. The description does not say whether the ID is a UUID, integer-like string, or the assessment's ref_id, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated verbatim ('api_resilience_asset_assessments_object_retrieve'), adding no verb+resource framing of its own. Only the machine-generated name hints that it retrieves a single resilience asset assessment, and there is no differentiation from the many sibling '*_object_retrieve' tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus alternatives such as ciso_assistant_api_resilience_asset_assessments_list or _retrieve. The 'object' suffix implies a single-record fetch, but the description never confirms it or excludes sibling options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_asset_assessments_partial_updateApi resilience asset assessments partial updateD
api_resilience_asset_assessments_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the agent knows this mutates state non-idempotently — but the description adds nothing: no mention of what fields are patchable, permission requirements, or how partial semantics treat omitted fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it contains zero information — this is under-specification, not conciseness. Nothing is front-loaded beyond a name copy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A non-idempotent mutation tool with an untyped free-form body, no output schema, no annotations covering payload semantics, and no description of what may be changed makes correct invocation essentially guesswork.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%: the required `id` is an unexplained string and `body` is an open anyOf object with no documented fields. The description does not compensate at all, leaving the agent with no idea what keys the PATCH body accepts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the snake_case tool name repeated verbatim, a tautology that restates the title rather than describing the action. An agent must infer from the name alone that this is a PATCH-style partial update of a resilience asset assessment record identified by id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this instead of the sibling update, create, retrieve, or object_retrieve endpoints. The only signal is the word 'partial' in the name, which the reader must decode themselves.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_asset_assessments_quali_impact_retrieveApi resilience asset assessments quali impact retrieveDRead-onlyIdempotent
api_resilience_asset_assessments_quali_impact_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered by structured data. The description contributes nothing further — no note about what the qualifier field represents, how it is computed, what permissions are needed, or what happens when the assessment lacks a qualitative impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is under-specified rather than dense. There is no front-loaded statement of intent and the single 'sentence' is a bare identifier with underscores.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotation-level detail about the returned payload, and no additional description text, an agent has no way to know what this endpoint returns or how to interpret it. For a retrieval tool with an undocumented id, this is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is an untyped-semantics string. The description does not say whether this id refers to the asset assessment, the qualifier, or a related object, so the one parameter that must be supplied is left ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool name re-typed as a string, so it conveys the same information as the identifier and nothing more. The name does imply retrieving a qualitative-impact value for a resilience asset assessment, which is marginally better than a pure tautology, but no verb-object statement or scope is provided.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool, and it is surrounded by near-identical siblings such as ciso_assistant_api_resilience_asset_assessments_retrieve and ciso_assistant_api_resilience_escalation_thresholds_quali_impact_retrieve. Nothing tells an agent which of these to select for which need.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_asset_assessments_retrieveApi resilience asset assessments retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds a genuinely useful behavioral detail — unauthorized related fields are masked — but does not explain authorization scope, missing-id behavior, or response shape beyond 'single object'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is concise and front-loaded, but it is under-specified rather than appropriately sized. It spends its only clause on masking while omitting the core lookup parameter and resource identity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieve-by-id tool with no output schema, the description should at least state what entity is returned and that it requires an id. It only hints at masked fields and therefore leaves key invocation context missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the sole required 'id' parameter. It never mentions the id or what it identifies, leaving the parameter completely undocumented outside the bare schema type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Return a single object' without naming the resource (resilience asset assessment) or stating that it is retrieved by id. The name/title carry the actual purpose, so the description adds masking behavior but does not clearly state what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus sibling retrieval tools such as the list, object_retrieve, or metrics endpoints. It also omits prerequisites like needing an existing assessment id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_asset_assessments_risk_matrix_retrieveApi resilience asset assessments risk matrix retrieveDRead-onlyIdempotent
api_resilience_asset_assessments_risk_matrix_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description contributes nothing beyond that — no note on what is returned, whether a matrix may be absent, or any auth/scope requirement — so it neither adds value nor contradicts 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than conciseness: a single duplicated identifier carries no front-loaded information an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve endpoint with one undocumented parameter and no output schema, the description should at minimum identify the target entity and what the id resolves to. Neither is present, so an agent cannot confidently call this tool or interpret its result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is undocumented anywhere. The description does not clarify whether id refers to the assessment, the risk matrix, or another entity, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim ('api_resilience_asset_assessments_risk_matrix_retrieve'), a tautology that adds no verb/resource phrasing beyond the identifier. An agent can only infer from the name that it retrieves a risk matrix tied to a resilience asset assessment, and nothing distinguishes it from siblings like ..._retrieve or ..._quali_impact_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to call this versus the sibling ..._resilience_asset_assessments_retrieve or ..._object_retrieve, nor any prerequisites or exclusions. The description is purely a restatement of the name, leaving selection entirely to inference from naming.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_asset_assessments_updateApi resilience asset assessments updateDIdempotent
api_resilience_asset_assessments_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the description needed only to add context such as required permissions, merge semantics, or consequences for omitted fields. It adds nothing at all — the entire body is the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is trivially short with no wasted prose, but the brevity is under-specification rather than concision — there is no front-loaded statement of purpose or scope for the reader to anchor on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque free-form body, no output schema, and 0% schema description coverage, the description should explain what an assessment update accepts and its effects. Nothing beyond the name is provided, leaving the agent unable to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description supplies no parameter meaning. The 'body' parameter is an unconstrained additionalProperties object with no hint about which assessment fields are updatable, and 'id' is undocumented beyond its required status.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the identifier string 'api_resilience_asset_assessments_update' — a tautological restatement of the tool name and title. It conveys no verb+resource scope beyond what the snake_case name already implies, and does not distinguish it from siblings such as partial_update or create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus ciso_assistant_api_resilience_asset_assessments_partial_update, _create, or _batch_action_create. The agent must infer the update-vs-partial-update distinction entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_business_impact_analysis_batch_action_createApi resilience business impact analysis batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the non-read-only, non-idempotent, non-destructive, open-world profile; the description adds nothing beyond that. It does not say which actions are supported, what happens to the targeted business impact analyses, or whether operations are reversible or partial-failure tolerant. It does not contradict the annotations, but it carries no extra behavioral weight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no waste, but the brevity comes from under-specification rather than tight writing; there is no front-loaded scope, target list, or action set to anchor the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no annotations covering payload shape, and no parameters: the description would need to explain targeting and available actions to make the tool callable. It does neither, leaving an agent unable to construct a valid request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema exposes zero properties, so there is nothing for the description to mirror; per the 0-param baseline this would be a 4. However, a batch action with an empty, closed schema is unusable without knowing how objects and the action are specified, and the description offers no hint about that payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Perform a batch action on multiple objects" restates the name's generic operation without naming the resource (resilience business impact analysis) or the actions supported. Against dozens of near-identical *_batch_action_create siblings, an agent gains no way to tell this one apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this bulk endpoint versus the per-object create/update/partial_update siblings, and no mention of prerequisites such as selecting object IDs or choosing an action verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_business_impact_analysis_build_table_retrieveApi resilience business impact analysis build table retrieveDRead-onlyIdempotent
api_resilience_business_impact_analysis_build_table_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that: no mention of what the 'build table' payload contains, whether it is computed on demand, or how it differs from a plain object retrieve.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short but earns none of its space: it is a name echoed back, which is under-specification rather than conciseness. There is no front-loaded statement of action or scope to anchor the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Against a very large sibling set and an ambiguous 'build_table' resource, and with no output schema to explain the response, the description leaves an agent unable to decide between this tool and the list/object/metrics/export variants, or to know what id to supply.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is undocumented — the description does not say whether it is the BIA record id, an asset assessment id, or a build table id. With low coverage the description was expected to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is verbatim the tool name with underscores stripped; it restates the identifier rather than explaining what the tool does. An agent learns only that something named 'build table' is retrieved for a business impact analysis, with no statement of what a build table is or what is returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this retrieve endpoint versus the many siblings in the same namespace (business_impact_analysis_list, _object_retrieve, _metrics_retrieve, _status_retrieve, _export_csv_retrieve, _xlsx_retrieve). No prerequisites, no exclusions, no alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_business_impact_analysis_cascade_info_retrieveApi resilience business impact analysis cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered structurally. The description adds nothing beyond the phrase "Cascade preview" — no indication of what the response contains, how deep the cascade goes, or whether it is scoped to one BIA record.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is a truncated fragment with a trailing colon rather than a front-loaded sentence, so the brevity comes from under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no explanation of the returned cascade payload, and the sole parameter is undefined. For a tool whose entire value is the shape of the cascade preview it returns, the description is wholly inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter `id` is completely undocumented. The description does not say what object the id identifies (a BIA, an asset, a field path), leaving the only input ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment "Cascade preview:", which only restates part of the tool name and never states what the tool actually returns or operates on. An agent cannot tell from this whether it previews a cascade deletion, a cascade of related objects, or something else, nor how it differs from the many sibling *_cascade_info_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to call this versus the adjacent resilience business impact analysis tools (list, retrieve, object_retrieve, build_table) or the other cascade_info endpoints. Nothing indicates prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_business_impact_analysis_createApi resilience business impact analysis createD
api_resilience_business_impact_analysis_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true, so the write semantics are partly covered structurally. The description contributes nothing additional: it does not state required permissions, whether the created object is returned, or what happens on duplicate submission.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but only because it contains zero information — an echo of the tool name in quotes. This is under-specification rather than economical writing; nothing is front-loaded because nothing is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world create operation with an opaque free-form body and no output schema, the description supplies none of the payload shape, validation rules, or return behavior an agent needs. It is completely inadequate for the complexity of the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter is an untyped `body` object with no defined properties. The description offers no indication of what must go into that body, so the agent has no way to construct a valid request from either the description or the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the snake_case tool name repeated verbatim, adding nothing beyond the title/name. An agent can only infer 'create a business impact analysis' by decoding the identifier itself, which is a tautology rather than an explanation of the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no differentiation from the many sibling tools such as ..._business_impact_analysis_batch_action_create, ..._partial_update, or ..._list. The agent must infer from the name alone that this creates a single record.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_business_impact_analysis_destroyApi resilience business impact analysis destroyDDestructiveIdempotent
api_resilience_business_impact_analysis_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that: no mention of cascading deletions, irreversibility, required permissions, or impact on related assessments.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a bare slug with no sentences, no front-loaded purpose statement, and no structure. It is short, but shortness here reflects under-specification rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world mutation with an undocumented identifier and no output schema, the description supplies nothing an agent needs to call it safely. Annotations carry the entire burden of behavioral disclosure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required 'id' parameter has 0% schema description coverage and the description adds no clarification of what entity the id refers to or its format. With one undocumented parameter and no compensating prose, this falls below the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the operation slug repeated verbatim, which merely restates the tool name. It does tell an agent that this is a deletion operation only via the word 'destroy', with no statement of what resource is being removed or what 'business impact analysis' means in this context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to delete versus when to use the sibling update, partial_update, retrieve, or list tools. The agent must infer entirely from the name that this is a destructive operation on an existing record.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_business_impact_analysis_export_csv_retrieveApi resilience business impact analysis export csv retrieveCRead-onlyIdempotent
api_resilience_business_impact_analysis_export_csv_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description contributes nothing further: no mention of what the CSV contains, whether the export is scoped to one analysis or all of them, or whether large exports are streamed or paged.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is trivially short but that brevity is under-specification, not conciseness. There is no front-loaded statement of purpose because there is no prose at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does not say what the CSV response looks like or how it should be handled. For a file-export endpoint where the agent must decide between CSV, XLSX, and JSON-shaped retrieval, the description leaves the decisive question unanswered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4 and there is no parameter semantics for the description to compensate for. No credit is lost here, but no value is added either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated verbatim in snake_case, which is a tautology rather than an explanation. The name itself hints at a CSV export of a business impact analysis, but the description adds no verb, resource, or scope beyond the identifier, and does nothing to separate it from siblings like ..._export_xlsx_retrieve or ..._build_table_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the xlsx export, the build_table endpoint, or the plain retrieve. An agent must infer from the identifier alone that this is the CSV-format export path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_business_impact_analysis_export_xlsx_retrieveApi resilience business impact analysis export xlsx retrieveDRead-onlyIdempotent
api_resilience_business_impact_analysis_export_xlsx_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that - no note on whether the export covers all BIAs or one, no auth note, no rate limit, no statement that a file is produced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here comes from under-specification, not from disciplined editing - the single 'sentence' is just the identifier. There is no front-loaded statement of what the tool does or what it returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no input schema, no output schema, and no annotations explaining the return payload; the description is the only place an agent could learn whether the result is a file handle, a URL, or binary content, and it says nothing. For a file-export endpoint this leaves the agent guessing what it will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter semantics for the description to explain; the baseline of 4 applies by rule. Note that the absence of any scoping parameter is itself suspicious for an export operation and would have been worth the description acknowledging.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal tool name repeated verbatim ('api_resilience_business_impact_analysis_export_xlsx_retrieve'), which is a tautology rather than a statement of purpose. Any understanding of what the tool does must be reverse-engineered from the snake_case name and the sibling context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no exclusions. The tool sits among close siblings (e.g. the CSV export variant, the build_table variant, the plain xlsx_retrieve variant), and none of that relationship is clarified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_business_impact_analysis_listApi resilience business impact analysis listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| authors | No | ||
| ordering | No | ||
| max_pages | No | ||
| perimeter | No | ||
| risk_matrix | No | ||
| perimeter__folder | No |
TDQS
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 structurally. The description adds no behavioral context (filtering semantics, pagination, what 'optimized data' means, permissions); it merely describes an implementation override.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence, but it is not concise in the useful sense — it is content-free. Every word describes code behavior rather than the agent-facing action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 12 undocumented parameters, no output schema, and a deep sibling set, the description supplies essentially nothing an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Twelve parameters with 0% schema description coverage and nothing in the description explaining any of them. Ambiguous names like `id`, `folder`, `perimeter__folder`, `max_pages`, and `ordering` are left entirely undefined, which is a serious gap for a 12-param tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal developer docstring ('Override the list method to inject optimized data into the serializer context') rather than a task description. It implies a list operation but never states what resource is listed or what data is returned, so an agent cannot distinguish it from the many sibling `_list` tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling to prefer. The sentence concerns Django serializer internals, not calling decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_business_impact_analysis_metrics_retrieveApi resilience business impact analysis metrics retrieveCRead-onlyIdempotent
api_resilience_business_impact_analysis_metrics_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds no further behavioral context, such as aggregated metric scope, access requirements, or whether results cover one BIA or all of them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but this is under-specification rather than efficiency. The single token offers no front-loaded explanation of action, scope, or result.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain what metrics are returned and at what granularity. Combined with an undocumented id parameter, the definition leaves an agent unable to predict the response or the correct identifier.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required 'id' parameter is undocumented. The description says nothing about what the id identifies (a BIA record? a metric instance?), so it 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool name restated ('api_resilience_business_impact_analysis_metrics_retrieve'), a tautology. The name implies a metrics retrieval for business impact analysis, but the description does not state a verb-plus-resource in prose or differentiate it from siblings like business_impact_analysis_list or business_impact_analysis_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this endpoint versus siblings such as ciso_assistant_api_resilience_business_impact_analysis_retrieve, _list, or the asset-assessments metrics endpoint. An agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_business_impact_analysis_object_retrieveApi resilience business impact analysis object retrieveDRead-onlyIdempotent
api_resilience_business_impact_analysis_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered by structured data. The description adds nothing beyond that — no mention of what the retrieved object contains, permission requirements, or error behavior for a missing id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here is under-specification rather than conciseness; the single string earns no place because it duplicates the name field. There is no front-loaded statement of what the tool actually does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no parameter documentation, and a description that is a name echo leave the agent with essentially nothing to decide when or how to call this among hundreds of lookalike retrieve endpoints. Completely inadequate for an object-retrieve operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required 'id' parameter has no schema description (0% coverage), so the description carries the full burden of explaining it — and adds nothing. An agent must infer that 'id' is the business impact analysis record identifier and what format it takes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's name repeated verbatim ('api_resilience_business_impact_analysis_object_retrieve'), which is pure tautology. It gives no verb-plus-resource statement beyond what the name already encodes and does nothing to distinguish this from the ~800 sibling tools, including the closely related resilience_business_impact_analysis_retrieve and business_impact_analysis_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to call this versus alternatives. Siblings like ciso_assistant_api_resilience_business_impact_analysis_retrieve, _list, _object_retrieve, and _metrics_retrieve plausibly overlap, and the description offers no routing signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_business_impact_analysis_partial_updateApi resilience business impact analysis partial updateD
api_resilience_business_impact_analysis_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, destructiveHint=false, openWorldHint=true and idempotentHint=false, so the mutation and open-world nature is covered structurally. The description adds nothing beyond that: no mention of which fields are patchable, what happens to unspecified fields, or any side effects. No contradiction with annotations, but zero added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically one token with no waste, but this is under-specification rather than conciseness — the single string conveys no information beyond the tool name and leaves the reader with nothing front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint whose body is a free-form object with no schema documentation and no output schema, the description should carry nearly the full burden of disclosure. It provides none of it, so an agent cannot safely construct a call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are two parameters, including an untyped 'body' object with additionalProperties=true. The description supplies no information about which fields belong in the body or what 'id' refers to, leaving the agent with a completely opaque payload contract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the operation ID repeated verbatim, which restates the name rather than explaining the tool. An agent can infer a partial update of a 'business impact analysis' object from the name alone, but nothing in the description confirms what the resource is or what the operation changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to use this instead of the sibling _update or _create variants, nor about prerequisites such as needing an existing record or permission requirements. The agent must guess from the name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_business_impact_analysis_retrieveApi resilience business impact analysis retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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), so the bar is lower. The description does add one genuinely useful behavioral fact beyond the annotations: unauthorized related fields are masked in the response, warning the agent that data may be redacted. It does not mention what happens on missing/nonexistent IDs, permission failures, or which fields are typically masked.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so nothing is wasted. However, its brevity comes from under-specification rather than discipline: the sentence is a footnote about output masking rather than a front-loaded statement of what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description only says a single object is returned with masked fields — it does not describe the shape, the notable BIA fields, or error behavior. For a retrieve-by-id endpoint in a large API surface, an agent cannot tell from this text whether it is calling the right endpoint or what it will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter ('id') with 0% schema description coverage, and the description says nothing about it — no format, no indication of whether it is the BIA id or a related object id, no hint about where to obtain it. With only one parameter this is a small gap, but nothing compensates for the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only says it returns 'a single object' — it never states what resource is being retrieved or that this is the Business Impact Analysis record lookup. The resource is inferable only from the tool name/title, and nothing distinguishes it from the numerous sibling retrieve variants (object_retrieve, list, build_table, export_csv).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to use this tool versus the many sibling endpoints, no mention that an 'id' must be obtained from a list/search first, and no exclusions or prerequisites. The reader is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_business_impact_analysis_status_retrieveApi resilience business impact analysis status retrieveCRead-onlyIdempotent
api_resilience_business_impact_analysis_status_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered. The description adds nothing beyond that — no indication of what status is returned, whether it is a job/progress indicator, or any latency or freshness characteristics. With annotations doing all the work and no added context, a 2 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single bare identifier with no front-loaded explanatory clause — it is short, but the brevity comes from under-specification rather than efficiency. Nothing about the response shape, status semantics, or scoping is stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no parameters, so the description bears full responsibility for explaining what the retrieved status represents. Given dozens of sibling '_status_retrieve' endpoints across the API, an agent has no way to know which status object this returns or how it relates to the BIA list/retrieve tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (empty object, additionalProperties false), so per the baseline for parameterless tools a 4 applies. There is nothing for the description to disambiguate at the parameter level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool's identifier string repeated ('api_resilience_business_impact_analysis_status_retrieve'), which restates the name/title rather than explaining what the tool does. An agent must parse the underscored name to infer that it retrieves a BIA status, and gets no prose confirmation of what 'status' means.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus the many siblings such as ciso_assistant_api_resilience_business_impact_analysis_retrieve, _object_retrieve, _metrics_retrieve, or _build_table_retrieve. The agent must guess from naming conventions alone whether this returns computation/processing status or record status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_business_impact_analysis_updateApi resilience business impact analysis updateDIdempotent
api_resilience_business_impact_analysis_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=true and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that — no mention of what fields are mutable, whether updates require permissions, or whether omitted fields are preserved — but it does not contradict the hints either.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token, so there is nothing superfluous, but this is under-specification rather than conciseness. Nothing is front-loaded because there is no content to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an untyped free-form body, no output schema, and 0% schema description coverage, the description should explain the payload shape and effect. It does none of that, leaving the definition unusable without external knowledge of the API.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the only parameters are an opaque 'id' string and a free-form 'body' object with additionalProperties=true and no documentation. The description provides no compensation at all, leaving the agent with no idea what belongs in the body for a business impact analysis update.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the snake_case tool name repeated ('api_resilience_business_impact_analysis_update') with no natural-language statement of what it does. It is a tautology that restates the name rather than describing the operation, though the name itself hints at updating a business impact analysis record.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool, when not to, or how it differs from the many siblings such as partial_update, destroy, batch_action_create, or the resilience_asset_assessments equivalents. An agent has to infer everything 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.
ciso_assistant_api_resilience_business_impact_analysis_xlsx_retrieveApi resilience business impact analysis xlsx retrieveDRead-onlyIdempotent
api_resilience_business_impact_analysis_xlsx_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 contributes nothing additional — it does not say that a binary file is returned, whether the id refers to a BIA record, or what happens if the id is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is under-specified rather than economical. There is no front-loaded verb or scope statement to anchor the reader.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations about the response, the description must at minimum convey that this returns an XLSX file for a given BIA record. It conveys neither the return format nor the required input semantics, so an agent cannot invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, so the description carries the full burden of explaining it — yet it adds no meaning at all. An agent cannot tell whether this is the BIA id, an asset id, or a report id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool's identifier repeated in snake_case, which only obliquely signals that it retrieves an XLSX export of a business impact analysis. It restates the name rather than stating what the tool does in prose, and gives no information an agent couldn't parse from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this XLSX retrieval versus the sibling export_csv_retrieve, export_xlsx_retrieve, build_table_retrieve, or the plain retrieve variant. The agent is left to infer the distinction entirely from naming conventions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_batch_action_createApi resilience dora incident reports batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true. The description adds nothing beyond that — it doesn't say which actions exist (delete/update/etc.), what gets affected, or whether repeat calls behave differently. It is consistent with the annotations, so no contradiction, but it carries no extra information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler. It is efficient, but the terseness comes at the cost of substance rather than reflecting a simple operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent mutation tool with an empty input schema, no output schema, and no documentation of the supported batch actions, the description leaves the agent unable to construct a valid call. It should at minimum enumerate the allowed actions and how object identifiers are supplied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares an empty object with additionalProperties: false, so coverage is vacuously 100%. The description's phrase 'on multiple objects' implies a target list and an action selector, but the schema exposes neither, and the description does not explain how targets are identified. Baseline is nominally 4 for zero-parameter tools, but here the parameterless schema is itself the main ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence is essentially a restatement of the name template: 'Perform a batch action on multiple objects.' It never names the resource (DORA incident reports), which only appears in the tool name, so among hundreds of sibling *_batch_action_create tools it provides no distinguishing content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the ~hundreds of other batch_action_create siblings, no mention of which batch actions are supported, no prerequisites, and no exclusions. An agent has nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_cascade_info_retrieveApi resilience dora incident reports cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered. The description adds no behavior beyond that — no mention of what the cascade preview returns, whether it is read-only by nature, or how deep the cascade goes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words plus a colon is under-specification rather than conciseness; there is no front-loaded statement of purpose to be efficient about.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, an undocumented parameter, and a large family of near-identical cascade_info siblings, the description must explain what the cascade preview contains. It explains nothing, leaving the agent unable to decide when or how to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required `id` parameter with 0% schema description coverage, and the description never says whether the id is the incident report id, an entity id, or a model name. With zero compensation for an undocumented parameter, this falls below the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" only restates the tail of the title/name without stating a verb, the resource being inspected, or what 'cascade' means in this domain. An agent learns nothing it could not infer from the identifier alone, and cannot distinguish it from the dozens of sibling `*_cascade_info_retrieve` tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus `..._object_retrieve` or `..._retrieve` for the same DORA incident reports resource. The trailing colon even suggests truncated or missing content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_classification_criterion_retrieveApi resilience dora incident reports classification criterion retrieveCRead-onlyIdempotent
api_resilience_dora_incident_reports_classification_criterion_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds nothing beyond that - not what a 'classification criterion' is, what shape the result takes, or whether it depends on a specific report existing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it contains no content - the single 'sentence' is the identifier repeated, so there is no front-loaded explanation of the operation or its output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description owes the agent some indication of what a DORA incident classification criterion looks like, which fields/questions it returns, and how it relates to an incident report. None of that is present, leaving the tool essentially opaque beyond its name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. No parameter confusion is possible here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool identifier restated ('api_resilience_dora_incident_reports_classification_criterion_retrieve'), which conveys the domain area but adds no explanation of what the tool actually returns. Because it only echoes the name, it is tautological rather than a statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the many sibling retrieve endpoints (e.g. incident_classification_retrieve, incident_submission_retrieve, validate_report_retrieve). Usage must be inferred entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_createApi resilience dora incident reports createD
api_resilience_dora_incident_reports_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description contains no text at all, so it adds zero context beyond the annotations (readOnlyHint=false, idempotentHint=false, openWorldHint=true). Nothing is said about required payload fields, side effects on the incident-report record, or what a non-idempotent create implies for retries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here comes from under-specification rather than efficiency; there is no front-loaded purpose or scoping statement to anchor the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent create operation on a compliance-sensitive DORA incident report with an untyped body and no output schema, the definition omits everything an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one optional free-form `body` object with 0% schema description coverage and additionalProperties=true, so the schema tells the agent nothing about what fields the report requires. The description does not compensate at all, leaving the payload shape entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the machine name restated ("api_resilience_dora_incident_reports_create"); it conveys no verb+resource statement beyond the identifier. An agent can guess it creates a DORA incident report from the name, but the description text itself adds nothing and does not distinguish it from siblings like resilience_dora_incident_reports_batch_action_create or _update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool versus the batch_action_create, update, partial_update, or destroy siblings. The agent is left to infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_destroyApi resilience dora incident reports destroyDDestructiveIdempotent
api_resilience_dora_incident_reports_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is known. The description contributes zero additional behavioral context — no mention of what is irreversibly deleted, cascade effects on linked artifacts, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity is under-specification rather than economy — the single fragment carries no information beyond the identifier already visible in the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, irreversible delete operation on a regulated DORA incident report, with no output schema and an undocumented required ID, the description is wholly inadequate. An agent has no basis to confirm it is deleting the right object.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter ('id') with 0% schema description coverage, and the description says nothing about it — not the ID format, whether it is the report's UUID or ref_id, nor what happens on an unknown ID. The description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name ('api_resilience_dora_incident_reports_destroy'), which is a tautology rather than an explanation. The name does imply deleting a DORA incident report, so an agent could infer intent, but the description adds nothing to distinguish it from siblings like the batch_action or retrieve variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this versus alternatives (e.g., batch_action_create for bulk deletion, or partial_update). There is no warning about permanence or prerequisites, leaving the agent with no routing signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_export_json_retrieveApi resilience dora incident reports export json retrieveDRead-onlyIdempotent
api_resilience_dora_incident_reports_export_json_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 known. The description contributes nothing extra: it does not say whether the JSON is returned inline or as a downloadable file, whether it reflects a single report or the whole register, or what permissions are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is minimal in length, but that brevity reflects under-specification, not efficient communication. The single string is a machine identifier rather than a front-loaded human-readable sentence, so nothing is actually communicated to the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotation detail on the export format, the description should at minimum state what the JSON export contains and how it is delivered. It supplies none of that, so the definition is incomplete for a tool whose sole parameter is undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, id, with 0% schema description coverage, so the description carries the full burden of explaining it. It says nothing about what the id identifies (report vs export job) or its format, leaving the agent to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the tool's slug restated verbatim, which effectively repeats the name and title. Decoding the identifier does convey the resource (DORA incident reports) and the operation (JSON export retrieve), so it is not misleading, but it adds no clarifying verb or scope statement beyond the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this export endpoint versus the many siblings such as ciso_assistant_api_resilience_dora_incident_reports_retrieve, _object_retrieve, _list, or _cascade_info_retrieve. An agent must infer the distinction from names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_incident_classification_retrieveApi resilience dora incident reports incident classification retrieveCRead-onlyIdempotent
api_resilience_dora_incident_reports_incident_classification_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that — no statement of what the endpoint returns, whether it is a static choice list or report-scoped data, or whether a report ID is implicitly required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but only because it carries no content — an exact copy of the tool name with no additional information front-loaded. This is under-specification rather than economy of expression.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description is the only place an agent could learn the return shape or the scope of 'incident classification', and it supplies neither. For a retrieval tool in a dense DORA incident-report family, that leaves selection effectively guesswork.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The operation takes zero parameters and the schema coverage is 100%, so there is no parameter meaning for the description to add. Baseline 4 applies; a short note on what the empty-input call yields would have earned a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's own identifier echoed back verbatim, with no verb, no plain-language statement of the resource, and no distinguishing detail. An agent must reverse-engineer meaning from the slug alone; it is a tautology rather than an explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of the many near-identical siblings in the same family (classification_criterion_retrieve, incident_discovery_retrieve, incident_submission_retrieve, retrieve, object_retrieve). Nothing tells an agent which of these retrieval endpoints answers which question.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_incident_discovery_retrieveApi resilience dora incident reports incident discovery retrieveCRead-onlyIdempotent
api_resilience_dora_incident_reports_incident_discovery_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that — no note on what the discovery view contains, whether it is scoped to a report ID, or how it differs from other incident sub-resources.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token-like phrase with no wasted words, but it is under-specified rather than concise — it conveys no semantics an agent could act on. Brevity here is the byproduct of having no content, not of efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and a dense cluster of similarly named DORA incident siblings, the description needed to at least identify what this retrieval returns. It does not, leaving the agent unable to distinguish it from ~15 adjacent incident endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so per the baseline rule a 4 is appropriate; there is nothing for the description to disambiguate. It neither adds nor detracts from parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name/title, adding no information beyond the identifier. The name does encode a resource (DORA incident reports, incident discovery) and a retrieve action, but the description itself merely echoes it rather than stating in plain language what is retrieved or from where.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many sibling DORA endpoints (incident_classification_retrieve, incident_submission_retrieve, classification_criterion_retrieve, object_retrieve). The agent must infer the distinction from naming alone, with no stated conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_incident_submission_retrieveApi resilience dora incident reports incident submission retrieveCRead-onlyIdempotent
api_resilience_dora_incident_reports_incident_submission_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so safety behavior is covered structurally. The description contributes nothing further — no mention of what the submission object contains, whether it requires an incident report context, or how it relates to regulatory filing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is an unexpanded identifier rather than a front-loaded sentence. There is no leading clause an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no description of the returned submission payload or its relationship to the parent incident report, an agent cannot judge what it will get back or whether it needs a report identifier. The complexity is low (no params), but the semantic gap is large because of the crowded DORA sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The empty schema with additionalProperties=false makes the call signature unambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the snake_case tool identifier re-spelled; it does not state a verb or explain what an 'incident submission' resource is. An agent can infer it is a DORA incident-report read endpoint from the name fragments, but the description itself adds no explanation beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all, despite many near-identical siblings (incident_classification_retrieve, incident_discovery_retrieve, incident_reports_retrieve, object_retrieve). Nothing tells the agent which of these endpoints yields the submission payload.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_info_duration_service_downtime_actual_or_estimate_retrieveApi resilience dora incident reports info duration service downtime actual or estimate retrieveCRead-onlyIdempotent
api_resilience_dora_incident_reports_info_duration_service_downtime_actual_or_estimate_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 nothing beyond that - no indication of whether an incident report ID is required, what a missing/empty value yields, or how the actual vs. estimate distinction is resolved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is a bare identifier duplicated from the name - no informational content is front-loaded because there is none. This is under-specification masquerading as brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameter documentation, the description is the only place an agent could learn what this returns and how to address the record; it supplies none of that. For a field-level retrieve endpoint in a dense DORA namespace, this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is closed (additionalProperties: false), so there is nothing for the description to clarify about inputs. Baseline 4 applies for a 0-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the tool's own slug repeated verbatim, so it restates the name rather than explaining what the endpoint does. An agent reading it cannot tell that it returns the 'actual or estimated duration of service downtime' for a DORA incident report, nor how it differs from siblings like root_cause_hl_retrieve or classification_criterion_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to call this versus the many sibling DORA incident report field endpoints (main_entity_retrieve, incident_discovery_retrieve, etc.). No prerequisites, no context, no alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_listApi resilience dora incident reports listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| incident | No | ||
| ordering | No | ||
| max_pages | No | ||
| incident_submission | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is fully covered structurally. The description contributes zero additional behavior — 'serializer context' is framework jargon that conveys nothing about pagination, filtering, or returned data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity is not conciseness here — the single sentence describes an implementation detail rather than user-facing behavior, so no sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, nine parameters are undocumented, and the description supplies none of the missing information. For a list tool with this many optional query parameters, the definition is fundamentally inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 9 parameters with 0% schema description coverage, and the description mentions none of them. Fields like id, folder, incident, incident_submission, ordering, limit/offset, and max_pages are entirely undocumented anywhere, leaving the agent to guess their meaning and format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description ('Override the list method to inject optimized data into the serializer context') is an internal implementation note, not a statement of what the tool does. An agent learns nothing about DORA incident reports or the listing semantics beyond the name, which is doing all the work.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this list endpoint versus siblings like ciso_assistant_api_resilience_dora_incident_reports_object_retrieve, _export_json_retrieve, or the many other resilience list tools. The word 'list' implies a collection read, but no alternatives or conditions are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_main_entity_retrieveApi resilience dora incident reports main entity retrieveCRead-onlyIdempotent
api_resilience_dora_incident_reports_main_entity_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered without the description. The description itself contributes nothing beyond that — no note on what the response contains, whether nested relations are included, or any auth/rate considerations. It does not contradict the annotations, but it earns no credit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but only because it contains no content — this is under-specification rather than conciseness. A single slug is repeated with no sentence structure, no front-loaded verb-object phrasing, and nothing that helps an agent act.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (no params) and annotations cover safety, but with no output schema the description must at least say what is returned and how 'main entity' differs from the object/related-entity retrieve endpoints. Neither is present, leaving the definition opaque relative to its many near-identical siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema-coverage burden is nil and the baseline of 4 applies. Nothing in the description is needed to explain parameters here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated verbatim ('api_resilience_dora_incident_reports_main_entity_retrieve'), so it is a tautology that adds no plain-language statement of what is retrieved. The term 'main_entity' is never explained, and the agent cannot tell this apart from the sibling `_retrieve` or `_object_retrieve` endpoints on the same DORA incident reports resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance text whatsoever — no when-to-use, no when-not-to-use, no named alternatives. With roughly ten sibling retrieve/list endpoints for dora_incident_reports, the agent gets zero help choosing this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_object_retrieveApi resilience dora incident reports object retrieveDRead-onlyIdempotent
api_resilience_dora_incident_reports_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is known without the description. The description adds nothing beyond that – no statement about what is returned, whether a 404 occurs for unknown ids, or what 'object' means versus the plain retrieve sibling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is nothing to trim, but 'concise' here means under-specified rather than efficient: a single identifier-shaped token with no sentence structure, no leading statement of purpose, and no information at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no meaningful description, so an agent cannot tell what a successful response contains, how it differs from the sibling *_retrieve endpoint, or what the id format is. For a retrieval endpoint in a large DORA API surface, that is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter 'id' at 0% schema description coverage, and the description says nothing about it. It does not even confirm that the id is the report's identifier, nor whether it expects a UUID or a numeric ref.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated verbatim ('api_resilience_dora_incident_reports_object_retrieve'), which is a tautology rather than an explanation. An agent can infer 'retrieve a DORA incident report object by id' only from parsing the identifier itself; the description contributes no independent statement of verb and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance at all on when to use this versus sibling tools. The list offers many near neighbours (dora_incident_reports_list, dora_incident_reports_retrieve, cascade_info_retrieve, export_json_retrieve, and numerous field-level retrieve endpoints) and nothing distinguishes them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_partial_updateApi resilience dora incident reports partial updateD
api_resilience_dora_incident_reports_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so the mutation/non-idempotent profile is covered. The description adds nothing beyond that: it does not say what PATCH semantics apply, which fields are patchable, or what errors occur on a bad id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but only because it is a bare identifier — there is no front-loaded purpose statement or actionable content. Brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutating tool with two parameters, zero schema description coverage, no output schema, and no annotations beyond generic hints. The description supplies none of the missing information an agent would need to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the 'body' parameter is an untyped open object with no documentation anywhere. The description provides no hint about what keys belong in body, making the single most important parameter effectively opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the tool name restated in snake_case, so it is a tautology rather than an explanation. An agent can infer 'partial update on DORA incident reports' only by parsing the identifier itself, and nothing distinguishes this from the sibling *_update or *_partial_update variants beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to use partial_update instead of the full update variant, the create variant, or the retrieve variants. No prerequisites, no exclusion conditions, no alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_report_currency_retrieveApi resilience dora incident reports report currency retrieveCRead-onlyIdempotent
api_resilience_dora_incident_reports_report_currency_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered without the description's help. The description adds nothing beyond that – no indication of whether this is a cached constant lookup, an org-scoped setting read, or what units/format the currency takes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is under-specified – a bare identifier is not a front-loaded description. No sentence here earns a place because no real sentence exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameters and no annotations covering return shape, the description is the only place an agent could learn what 'report currency' means (a value, a code, an enum of currencies) and it says nothing. For a lookup endpoint in a large DORA family, that leaves the caller under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and schema coverage is 100%, so there is nothing for the description to clarify; the baseline for a no-parameter tool applies. The description neither helps nor harms here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's identifier rendered verbatim, so it restates the name rather than explaining the operation. An agent can infer from the slug that it retrieves a 'report currency' value for DORA incident reports, but the description contributes no verb-plus-resource statement and does nothing to distinguish it from the many sibling `..._report_*`, `..._validate_report_retrieve`, and `..._export_json_retrieve` endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this endpoint, what it returns, or which sibling to prefer – for example the difference between a report-currency lookup and the incident-report object retrieve. The agent must guess from the identifier alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_reporting_authority_retrieveApi resilience dora incident reports reporting authority retrieveCRead-onlyIdempotent
api_resilience_dora_incident_reports_reporting_authority_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile is fully covered by structured data. The description contributes nothing beyond that—no note on whether this reads a value list versus a report field, no auth or scoping context—so it earns minimal credit under the lowered bar.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single fragment with zero waste, but it is under-specified rather than concise—no verb, no object in natural language, and nothing front-loaded that an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, annotation-covered read tool the bar is low, but there is no output schema and the description gives no idea what the endpoint yields (enum values? nested reporting-authority objects? localized labels?). An agent cannot decide between this and the ~10 adjacent DORA field-retrieve siblings from the text alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and schema coverage is 100%, so per the calibration baseline a 4 applies; there is no parameter semantics the description could add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation identifier repeated verbatim, which is tautological relative to the name and title. It does not state in prose what the tool returns (a DORA incident report's reporting-authority values or field metadata), and it does not distinguish it from the many sibling *_retrieve endpoints in the DORA incident reports family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus siblings such as resilience_dora_incident_reports_retrieve, object_retrieve, or the other per-field retrieve tools. The agent must infer usage purely from the encoded path segments.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_retrieveApi resilience dora incident reports retrieveBRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered; the description instead contributes a genuinely non-obvious behavior — that fields tied to unauthorized related objects are masked in the response. It does not cover not-found or permission-denied behavior, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence with no filler, and the most consequential fact (field masking) is front-loaded. It is arguably too short for the disclosure burden, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and annotations plus schema cover the mechanics, but with no output schema the description should say more about what a masked object looks like and what the caller gets back. For a retrieve-by-id endpoint whose identity is only in the name, this is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single `id` parameter has 0% schema description coverage, so the description must compensate — and it says nothing about what the id identifies or its format (integer vs UUID). "Single object" only weakly implies a lookup by identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Return a single object" conveys the cardinality (one record, not a list) but never names the resource — the agent must reconstruct "DORA incident report" from the tool name. It also fails to distinguish this from near-identical siblings such as resilience_dora_incident_reports_object_retrieve and _retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus the sibling list, object_retrieve, cascade_info_retrieve, or validate_report tools. Nothing indicates prerequisites (e.g., a valid report id, or required permissions that trigger masking).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_root_cause_additional_retrieveApi resilience dora incident reports root cause additional retrieveCRead-onlyIdempotent
api_resilience_dora_incident_reports_root_cause_additional_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond the name — no indication of return shape, whether it requires a report ID context, or what 'additional' means semantically.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single machine-generated identifier string with zero explanatory content. It is 'concise' only in the trivial sense; it earns no place as documentation and is not front-loaded with any useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a namespace crowded with near-identical root-cause siblings, the description provides no information to disambiguate purpose or expected return. The definition is effectively empty.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and 100% schema coverage, the baseline is 4. There is no param information needed, so the description is not penalized here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name with no added verb, resource, or scope explanation. While the name implies retrieving root-cause 'additional' options for DORA incident reports, the description itself is a tautology that doesn't clarify what is retrieved or how it differs from the sibling root_cause_detailed_retrieve and root_cause_hl_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the closely named siblings (root_cause_detailed_retrieve, root_cause_hl_retrieve, root_cause_additional_retrieve). An agent cannot infer from the description whether this returns a choice list, a supplementary section, or a different granularity of data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_root_cause_detailed_retrieveApi resilience dora incident reports root cause detailed retrieveDRead-onlyIdempotent
api_resilience_dora_incident_reports_root_cause_detailed_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered elsewhere. The description adds nothing beyond that — no mention of what the root-cause payload contains, what identifying context it needs (there are no parameters at all), or how it is scoped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically short, but the single token is a machine identifier rather than a front-loaded explanation, so nothing is being communicated concisely. Under-specification, not verbosity, is the problem.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and no annotations explaining semantics, the description is the only source of meaning for this endpoint — and it supplies none. An agent cannot tell what a 'root cause detailed' retrieval returns or when to prefer it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify; baseline applies. The description still does not exploit this by explaining what implicit scope (e.g. current report/context) the endpoint resolves against.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description repeats the tool name verbatim in snake_case, adding no plain-language statement of what is retrieved. It hints at a DORA incident report root-cause sub-resource but never says what the call returns or how it differs from the very similar siblings root_cause_hl_retrieve and root_cause_additional_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this rather than the other DORA incident-report endpoints (root_cause_hl_retrieve, root_cause_additional_retrieve, retrieve, object_retrieve). The agent must guess from the identifier alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_root_cause_hl_retrieveApi resilience dora incident reports root cause hl retrieveCRead-onlyIdempotent
api_resilience_dora_incident_reports_root_cause_hl_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 covered. The description adds nothing beyond that — no indication of whether this returns static enum choices versus computed data, nor any note about the openWorldHint=true behaviour. No contradiction with annotations, but no added value either.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single token is technically concise but carries zero information and no front-loaded explanation of action or scope. This is under-specification, not efficient writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With three closely named root-cause siblings and no output schema, the description is the only place that could disambiguate what 'hl' means and what shape of data comes back, and it does none of that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema is complete by definition and there is no parameter meaning for the description to supply. Baseline 4 applies for a 0-param tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is verbatim the snake_case tool name, so it only restates the identifier rather than explaining the operation. An agent must reverse-engineer 'root_cause_hl_retrieve' to guess this returns high-level root-cause options for DORA incident reports, and nothing confirms that reading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus ciso_assistant_api_resilience_dora_incident_reports_root_cause_additional_retrieve or ..._root_cause_detailed_retrieve, which are near-identical siblings. No prerequisites, no context, no exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_threat_techniques_retrieveApi resilience dora incident reports threat techniques retrieveCRead-onlyIdempotent
api_resilience_dora_incident_reports_threat_techniques_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered without the description's help. The description supplies nothing extra — no indication of whether this returns a full catalog versus per-report linked techniques, and no mention of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single token string is trivially short with no waste, but that is under-specification rather than conciseness; no lead sentence states an action or outcome. Front-loading is moot because there is no content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining what a parameterless retrieve returns, yet it says nothing. For an openWorld GET with no inputs, the agent cannot tell whether the response is a static enum/catalog or per-record data, making this incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters with additionalProperties false, so there is nothing for the description to explain; per the rubric, 0 params sets a baseline of 4. It is docked to 3 only because the endpoint takes no inputs yet also gives no hint of what selects the returned data (e.g., implicit scoping) — the schema alone leaves the caller guessing what the empty-argument response represents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the tool name repeated verbatim in snake_case ('api_resilience_dora_incident_reports_threat_techniques_retrieve'), adding no verb/resource phrasing beyond what the name and title already convey. An agent reading only the name can guess it retrieves threat techniques associated with DORA incident reports, but the description itself contributes nothing and does not differentiate it from siblings like the sibling '..._threat_techniques_...' variants or other DORA incident report sub-resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance of any kind is given; the text is a bare identifier. The agent must infer entirely from sibling names whether this is a list endpoint, a lookup table, or a pivot on a report detail.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_updateApi resilience dora incident reports updateDIdempotent
api_resilience_dora_incident_reports_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that – no mention of what fields are replaceable, whether omitted fields are cleared, or permission requirements, which matters for a full-update (PUT-style) endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here is under-specification rather than conciseness – a single restated identifier with no front-loaded information an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with an opaque untyped request body, no output schema, and zero annotation-independent detail. Nothing an agent needs to invoke it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description supplies no parameter meaning at all. The 'body' parameter is an unconstrained free-form object, which is precisely the case where the description must explain the acceptable input shape, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's snake_case name restated verbatim, so it is a tautology rather than a statement of purpose. The name does imply updating DORA incident reports, which keeps it above a completely missing description, but nothing about scope, target object, or effect is added.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many siblings that also mutate DORA incident reports (partial_update, create, batch_action_create, validate_report_retrieve). The distinction between update and partial_update is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_dora_incident_reports_validate_report_retrieveApi resilience dora incident reports validate report retrieveDRead-onlyIdempotent
api_resilience_dora_incident_reports_validate_report_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description contributes nothing beyond that — no statement on what a 'validate report' payload contains, whether validation can fail, or what errors look like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically short, but the brevity is under-specification rather than conciseness: a single opaque token with no front-loaded statement of purpose or effect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should describe the returned validation-report shape, but it says nothing. For a DORA regulatory tool with no annotations covering semantics, the definition is far too thin for an agent to call it with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is undocumented (no format, no indication of whether it is a report UUID or an incident-report reference). The description does not compensate at all, leaving the agent to guess what identifier to supply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is identical to the tool name, a snake_case identifier restating the title. While the name segments ('dora_incident_reports', 'validate_report', 'retrieve') hint at a validation-report read, the description adds no prose explaining what is retrieved or what 'validate' means in this context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no exclusions, and no mention of the many sibling retrieve tools (e.g. ciso_assistant_api_resilience_dora_incident_reports_retrieve, _object_retrieve, _incident_submission_retrieve) that an agent must distinguish it from.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_escalation_thresholds_batch_action_createApi resilience escalation thresholds batch action createD
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, idempotentHint=false, openWorldHint=true, so the description's silence on mutation/reversibility is partly compensated. However, for a batch mutation the description says nothing about what the action does, whether it is reversible, or what the caller must supply — and 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single, front-loaded sentence with no filler, but its brevity comes from omission rather than efficiency; the sentence conveys almost nothing beyond the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world batch mutation with an empty input schema and no output schema, the description provides none of the context an agent needs: no object type, no action set, no payload shape, no return behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero properties, which for a 'batch action on multiple objects' is itself a red flag — there is no documented way to specify which objects or which action. The description does not compensate by explaining the expected payload (IDs, action verb), leaving the caller with no usage path.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name generically: 'Perform a batch action on multiple objects.' It never names the resource (escalation thresholds) or any of the batch operations (delete/update/whatever), so it is indistinguishable from the hundreds of sibling *_batch_action_create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool, what preconditions apply, or how it differs from the per-resource create/update/destroy siblings. An agent has no basis for choosing it over any other batch tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_escalation_thresholds_cascade_info_retrieveApi resilience escalation thresholds cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is covered structurally. The description contributes nothing beyond that: no note on what the cascade preview includes, whether it is computed, whether it may be large, or whether the id refers to an escalation threshold or another entity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Brevity here is under-specification rather than conciseness; the text is a dangling fragment ending in a colon, implying a truncated or lost body. Nothing is front-loaded because there is effectively nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations explaining return content, the description was the only place to explain what a 'cascade preview' returns and for which id it applies; it says neither. An agent cannot call this tool confidently without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required parameter 'id', and the description never mentions it. The agent must infer from the tool name that 'id' identifies an escalation threshold, with no statement of format (UUID, ref_id) or whether other id types are accepted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a two-word fragment, "Cascade preview:", that essentially restates the name's 'cascade_info' token without adding a verb, resource, or scope statement. An agent learns only that some cascade preview is returned; it does not learn what an escalation threshold cascade preview contains or how it differs from sibling cascade_info endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the many sibling tools (e.g. the plain retrieve, list, or object_retrieve variants for escalation_thresholds, or other cascade_info tools). No prerequisites, no exclusions, no alternative named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_escalation_thresholds_createApi resilience escalation thresholds createD
api_resilience_escalation_thresholds_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true, which covers the safety profile. The description adds nothing beyond that: no statement that this persists a new record, whether duplicates conflict, or what permissions are required. No contradiction, but zero added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but entirely vacuous — it is under-specification rather than conciseness. There is no front-loaded statement of action, target, or effect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating create operation with a free-form body, no output schema, and eleven similarly named siblings, the definition is wholly inadequate. An agent cannot safely construct a payload or know the result of the call from this description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'body' parameter is an untyped free-form object (anyOf object/null) with 0% schema description coverage and no required fields, so the schema tells the agent nothing about expected payload shape. The description does not compensate at all, leaving the caller to guess what fields an escalation threshold requires.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim, with no verb-plus-resource explanation of what is actually created. An agent can infer 'create an escalation threshold' only by parsing the identifier, and nothing distinguishes it from siblings such as escalation_thresholds_update or escalation_thresholds_batch_action_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of the alternative tools in the escalation_thresholds family (list, retrieve, update, partial_update, batch_action_create). The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_escalation_thresholds_destroyApi resilience escalation thresholds destroyDDestructiveIdempotent
api_resilience_escalation_thresholds_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, openWorldHint=true and readOnlyHint=false, so the safety profile is covered elsewhere. The description adds nothing about what gets deleted, whether deletion cascades to related assessments, or whether it is reversible or hard-deletes — the exact context a destructive tool needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is under-specification rather than concision: a single lowercase token with no sentence structure, no front-loaded purpose, and no information content beyond the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, open-world, no-output-schema operation whose description is empty of any behavioral or parameter guidance. An agent has no basis to know what is destroyed, what dependent records are affected, or what a call returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes one required parameter, `id`, and schema description coverage is 0%, so the description must carry the meaning. It says nothing about what the id identifies (UUID? ref_id? slug?) or what happens if it does not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name reproduced verbatim ('api_resilience_escalation_thresholds_destroy') with no verb, object, or scope spelled out in prose. The name implies deletion of escalation thresholds, but the description adds nothing an agent could not already infer from the identifier and title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, what prerequisites exist, or how it differs from the many sibling *_destroy tools and the escalation-thresholds_create/partial_update/retrieve siblings. The 'destroy' token in the name is the only implied usage cue.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_escalation_thresholds_listApi resilience escalation thresholds listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No | ||
| quali_impact | No | ||
| asset_assessment | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered and the description does not contradict it. However, the description adds nothing an agent can act on — no mention of pagination behavior, what 'optimized data' means for the response, or any side effects of the serializer-context injection.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but terseness here comes from under-specification rather than discipline. The one sentence present is developer-facing jargon that occupies the front-loaded position where the tool's actual purpose should be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A list tool with 8 undocumented parameters, no output schema, and no annotations explaining return shape — the description should carry nearly the entire burden and instead carries none. Nothing an agent needs to invoke this correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 8 parameters (id, limit, offset, search, ordering, max_pages, quali_impact, asset_assessment) with 0% description coverage, and the description mentions none of them. With zero compensating text, an agent cannot tell what the two domain filters (quali_impact, asset_assessment) accept or what max_pages controls.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal implementation note ('Override the list method to inject optimized data into the serializer context') that never states what the tool actually returns. An agent learns nothing about escalation thresholds, the resource being listed, or how this differs from the sibling *_object_retrieve / *_retrieve tools other than what it can infer from the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the alternative retrieval siblings (escalation_thresholds_retrieve, escalation_thresholds_object_retrieve), and no prerequisites or filtering context. The sentence gives the agent no basis for choosing this tool over any other.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_escalation_thresholds_object_retrieveApi resilience escalation thresholds object retrieveDRead-onlyIdempotent
api_resilience_escalation_thresholds_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is fully covered structurally. The description adds nothing beyond that — no note that a 404/not-found can occur, no mention of related nested objects or authorization requirements, despite being an open-world read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here is under-specification rather than conciseness: the single token duplicates the tool name and conveys no information the agent did not already have from the name field. There is no front-loaded statement of purpose or scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should say at minimum that it returns a single escalation-threshold record (including fields like risk matrix and qualitative/quantitative impact references, per sibling endpoints). It says none of this, so an agent cannot predict the response shape or the cost of a failed lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden of explaining the single required 'id' parameter. It says nothing — no format hint (UUID/integer), no source (e.g., obtained from the _list endpoint), leaving the agent to guess what identifier is acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name ('api_resilience_escalation_thresholds_object_retrieve'), which is tautological by the rubric's definition. An agent can only infer 'retrieve an escalation threshold object' from the identifier string itself, not from any explanatory text, and nothing distinguishes it from the sibling _retrieve, _list, or _cascade_info_retrieve endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus the many adjacent siblings such as ciso_assistant_api_resilience_escalation_thresholds_retrieve, _list, or _quali_impact_retrieve. The agent is left to guess whether an 'id' is required (it is) or whether a list endpoint would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_escalation_thresholds_partial_updateApi resilience escalation thresholds partial updateD
api_resilience_escalation_thresholds_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered, but the description adds nothing beyond that — no mention that only the supplied fields in `body` are merged while others persist, which is the defining behavior of a partial update. No annotation contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it contains no information — it is an echoed identifier rather than a front-loaded summary sentence. This is under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating PATCH endpoint with an untyped JSON body, 0% schema coverage, no output schema and no annotations explaining merge semantics, the definition is wholly inadequate. An agent could not construct a valid `body` payload or predict the effect of the call from this description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden and fails completely. Neither `id` (which record) nor `body` (a free-form object with additionalProperties=true, no defined fields) is explained, leaving the caller with no idea what shape the patch payload must take.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool identifier restated verbatim ('api_resilience_escalation_thresholds_partial_update'), with no prose sentence describing the action or resource. An agent can only infer purpose by parsing the snake_case name itself, which is the textbook tautology case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this versus the sibling ciso_assistant_api_resilience_escalation_thresholds_update (full replace) or _create. The partial-vs-full update distinction, the single most important routing decision here, is left entirely to inference from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_escalation_thresholds_quali_impact_retrieveApi resilience escalation thresholds quali impact retrieveDRead-onlyIdempotent
api_resilience_escalation_thresholds_quali_impact_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that – no statement of what the 'quali impact' resource represents, no note that openWorldHint implies external data may be involved. It does not contradict annotations, but contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely short, but that is under-specification rather than conciseness. A single opaque token earns no place as a description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, an undocumented required parameter, and an opaque name, the description provides nothing an agent needs to call this tool correctly. The domain terms 'quali impact' are never unpacked.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'id' has 0% schema description coverage, so the description carries full responsibility for explaining whether this is a threshold id, qualification id, or composite key. It says nothing, leaving the one required parameter completely ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the snake_case tool name, adding no human-readable statement of what is retrieved. An agent must reverse-engineer the intent from the opaque identifier alone, and it distinguishes this tool from siblings (e.g. the plain escalation_thresholds_retrieve or quant_unit_retrieve) not at all.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling endpoint to prefer. Given the presence of escalation_thresholds_retrieve and several other *_retrieve siblings, the absence of any routing cue is a serious gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_escalation_thresholds_quant_unit_retrieveApi resilience escalation thresholds quant unit retrieveDRead-onlyIdempotent
api_resilience_escalation_thresholds_quant_unit_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, open-world and non-destructive, so the description is free to add context — but it adds none. It never says what data is returned or what a 'quant unit' endpoint even represents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is brief, but it is an identifier string rather than a front-loaded sentence, so brevity buys no clarity. No wasted words, but also no informative content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameters, and many near-identical siblings, the description must carry the entire burden of explaining the return value and its distinction — and it carries none.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The empty schema is self-consistent with a static lookup endpoint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the tool's snake_case name repeated, with no verb, resource, or scope explained. It is a tautology that an agent cannot interpret without decoding the identifier itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the closely related siblings such as resilience_escalation_thresholds_quali_impact_retrieve, resilience_escalation_thresholds_risk_matrix_retrieve, or escalation_thresholds_retrieve. Nothing indicates what 'quant unit' selects.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_escalation_thresholds_retrieveApi resilience escalation thresholds retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive behavior, so the bar is lower. The description does add one useful behavioral detail, that unauthorized related fields are masked, but it says nothing about the returned shape or what a missing id yields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, but the one sentence spends its space on a generic clinical detail rather than front-loading what the tool retrieves. Brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve-by-id tool with no output schema, the description should at least identify the resource and the object returned. It omits the escalation thresholds context entirely, leaving the agent dependent on the tool name and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single required 'id' parameter has no description in either the schema or the description. While 'id' is fairly self-evident, the description does not clarify which object's id is expected, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Return a single object' and never identifies the resource being retrieved (escalation thresholds). The tool name carries the meaning; the description is essentially a generic restatement of a retrieve-by-id operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many siblings such as the list, object_retrieve, or cascade_info variants. It does not state prerequisites or exclusions, so the agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_escalation_thresholds_risk_matrix_retrieveApi resilience escalation thresholds risk matrix retrieveDRead-onlyIdempotent
api_resilience_escalation_thresholds_risk_matrix_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, destructiveHint=false, so the safety profile is covered by structured data. The description adds nothing beyond that — no mention of what the endpoint returns, whether the referenced threshold must exist, error behavior on unknown id, or why openWorld is true. Zero value added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token with no waste, so not verbose, but that is under-specification rather than conciseness. There is no front-loaded statement of intent, scope, or return value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
One required parameter, no output schema, and a name that fuses three domain concepts (escalation thresholds, risk matrix, retrieve). With nothing to disambiguate, the description is completely inadequate for an agent to call this correctly against ~900 sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the description is the only place semantics could be supplied — and it supplies none. It does not say whether 'id' is the escalation threshold id, the risk matrix id, or a nested object key, which is the central ambiguity in this endpoint name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw snake_case tool name repeated verbatim ("api_resilience_escalation_thresholds_risk_matrix_retrieve") with no natural-language statement of what the tool does. It gives no verb/resource framing an agent could parse. It does not clarify whether it returns a risk matrix linked to an escalation threshold, or the thresholds belonging to a matrix — a distinction that matters given siblings like ciso_assistant_api_resilience_escalation_thresholds_retrieve and ciso_assistant_api_resilience_asset_assessments_risk_matrix_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative mentioned. The agent must infer from the identifier alone whether to call this versus the sibling escalation-threshold list/retrieve or the other risk_matrix_retrieve endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_resilience_escalation_thresholds_updateApi resilience escalation thresholds updateDIdempotent
api_resilience_escalation_thresholds_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, openWorldHint=true, destructiveHint=false, which tells the agent this is a non-destructive idempotent write. The description adds nothing beyond that — no mention of required permissions, what fields are replaced, side effects, or response behavior. It does not contradict the annotations, but it contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically concise (a single token), but this is under-specification rather than efficiency — the brevity comes from omitting all content, not from editing it down. Nothing is front-loaded because nothing is stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an untyped free-form body parameter, no output schema, and no annotations covering payload details, the description should explain what a threshold update accepts and affects. Nothing is provided, so an agent cannot call this correctly without guessing the body contents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description says nothing about the two parameters. The required 'id' and the opaque 'body' object (anyOf object/null, additionalProperties true) are completely undocumented, leaving the agent to guess what payload shape is valid for a threshold update.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name repeated ('api_resilience_escalation_thresholds_update'), so it restates the identifier rather than explaining what is updated. An agent can infer it is an update operation on escalation thresholds from the name, but receives no elaboration on scope, target, or effect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many sibling update tools (e.g. ciso_assistant_api_resilience_escalation_thresholds_partial_update or _update for other resources). No prerequisites, no exclusions, no context about what an escalation threshold represents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_acceptances_accept_createApi risk acceptances accept createD
API endpoint that allows risk acceptance to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is partly covered, but the description adds nothing beyond boilerplate. It never says this is an irreversible-ish state transition, what permission is needed to approve a risk acceptance, or what happens to an already-accepted record.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but that brevity is under-specification rather than conciseness: the sentence is copy-pasted endpoint boilerplate with no front-loaded statement of the verb or the resource being acted on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a state-changing workflow action with no output schema and an undocumented id parameter, the description omits everything an agent needs: the target resource, the resulting state, prerequisites, and failure modes. A caller could only guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter ('id') with 0% schema description coverage, and the description does not mention it, let alone clarify whether it is the risk acceptance's own id or an identifier of the related risk. With zero schema documentation the description had to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST-Framework boilerplate ('allows risk acceptance to be viewed or edited') and never states what the 'accept' action actually does, namely transition a risk acceptance into an accepted state. Worse, 'viewed' points toward a read operation that the tool name and annotations both contradict, so an agent cannot tell from this text whether the tool reads, edits, or approves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all, despite four strong siblings in the same namespace (risk_acceptances_accept_create, reject_create, revoke_create, submit_create) that require disambiguation. Nothing says whether this must follow a draft or submit step, or who may call it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_acceptances_batch_action_createApi risk acceptances batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), so the description is not required to restate it, but it adds nothing new. Critically, it never explains what a "batch action" actually does to the objects, how they are selected, or whether effects are reversible — the core behavioral question for a bulk mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so nothing is wasteful, but the brevity comes from under-specification rather than economy. Front-loading is moot since there is only one generic clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a bulk-mutation tool with no output schema and a schema that declares no parameters at all, the description should at minimum clarify the target resource and the selection/action mechanism. None of that is present, leaving the agent unable to call this correctly with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero declared parameters, the baseline is 4, but the description's silence is costly here: it says nothing about how the 'multiple objects' are identified or where the action payload goes, which is exactly what an agent needs given the empty schema (properties: {}, additionalProperties: false). Scored down from baseline for that omission.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title's generic framing ("batch action ... on multiple objects") without ever naming the resource, risk acceptances, that it acts on. With ~200 sibling tools sharing the same "batch_action_create" suffix, the agent gets no differentiation from the description itself and must rely entirely on the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus single-object create/destroy/update on risk acceptances, no mention of which batch operations are supported, and no prerequisites or exclusions. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_acceptances_cascade_info_retrieveApi risk acceptances cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that — not what the preview contains, not whether it depends on existing deletions/links, nothing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A two-word dangling fragment ending in a colon is not a description; there is no front-loaded purpose statement and no content after the colon.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an undocumented required parameter and no output schema, the description must carry essentially all the meaning, and it carries none.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required `id` parameter, and the description says nothing about it — not whether it is a risk-acceptance PK, a UUID, or what object the cascade applies to. The description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment 'Cascade preview:', which gestures at previewing cascade effects but never says what resource, what is previewed, or what is returned. It barely distinguishes this from the dozens of sibling *_cascade_info_retrieve tools, all of which would presumably also be 'cascade previews'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is mentioned. The agent gets no signal for choosing this over ciso_assistant_api_risk_acceptances_retrieve, _object_retrieve, or the cascade_info siblings of other models.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_acceptances_createApi risk acceptances createD
API endpoint that allows risk acceptance to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and openWorldHint=true, so the agent knows this is a state-changing call, but the description adds nothing about what a create does, what fields a risk acceptance requires, what happens on failure, or how this interacts with the accept/submit workflow. Worse, 'viewed' suggests a read capability on what is a write endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but brevity here is under-specification rather than conciseness; the one sentence present is boilerplate that conveys no actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with an opaque free-form body, no output schema, and no required params needs the description to explain the payload and the workflow. None of that is present, so an agent cannot safely invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (body) typed as a free-form object with 0% schema description coverage, and the description provides zero information about its shape, required risk fields, or any example payload. This is the case where description must compensate and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint allows risk acceptance 'to be viewed or edited', which is generic Django-REST boilerplate and never states that this tool creates a risk acceptance, despite the name and its sibling create/accept/draft endpoints. The resource is named, but the operation is wrong or at best ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus the many closely related siblings (risk_acceptances_accept_create, draft_create, submit_create, partial_update, update). The agent is given no routing signal at all, and the 'viewed or edited' phrasing actively pushes toward the wrong choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_acceptances_destroyApi risk acceptances destroyDDestructiveIdempotent
API endpoint that allows risk acceptance to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, yet the description frames the endpoint as a view/edit operation, contradicting the destructive contract. It never mentions irreversibility, cascade effects, or whether related objects are removed, which is the minimum an agent needs before an irreversible delete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not bloated, but brevity here comes at the cost of saying anything useful. The one clause it does contain describes the wrong operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world, idempotent mutation with no output schema and an undocumented identifier, the description supplies none of the context needed: no deletion semantics, no permission or confirmation requirements, no side effects. What annotations provide is actively undercut rather than supplemented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' has no type detail or format (e.g. UUID) anywhere. The description says nothing about what the identifier refers to or how to obtain a valid one, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource ('risk acceptance') but gives the wrong operation: 'viewed or edited' rather than deletion, which is what the tool name and the destroy suffix indicate. An agent reading only the description would not know this removes a record.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to delete versus the many sibling lifecycle actions (risk_acceptances_revoke_create, _reject_create, _accept_create, _draft_create) that also change the state of a risk acceptance. The only implied usage, viewing or editing, is wrong for this endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_acceptances_draft_createApi risk acceptances draft createD
API endpoint that allows risk acceptance to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, idempotentHint=false and openWorldHint=true; the description adds nothing about what a draft is, who may create one, or what happens on repeat calls. Worse, 'viewed or edited' suggests read/update behavior for what is a create endpoint, actively muddying the mutation profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, but its brevity stems from under-specification rather than efficiency; nothing is front-loaded because there is nothing substantive to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with no output schema, an undocumented required parameter and a large set of near-identical siblings needs far more than a generic 'viewed or edited' sentence. An agent cannot tell from this definition what the tool creates or when to pick it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, and the description never mentions it — notably it does not explain why a create/draft endpoint requires an 'id' (presumably the parent risk acceptance). Full compensation was required here and none is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint 'allows risk acceptance to be viewed or edited', which does not state creation of a draft — the operation the name and required 'id' parameter imply. It is a generic, near-tautological restatement that fails to distinguish this tool from close siblings like risk_acceptances_create, submit_create, accept_create or partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this draft-create endpoint versus the many other risk_acceptances operations (create, submit, accept, reject, revoke, update). The only usage signal ('viewed or edited') points away from the create semantics of the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_acceptances_listApi risk acceptances listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| state | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| approver | No | ||
| ordering | No | ||
| max_pages | No | ||
| to_review | No | ||
| expiry_date | No | ||
| risk_scenarios | No | ||
| expiry_date__gt | No | ||
| expiry_date__lt | No | ||
| expiry_date__gte | No | ||
| expiry_date__lte | No | ||
| expiry_date__year | No | ||
| expiry_date__month | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The only added sentence describes a Django serializer optimization — an implementation detail with no bearing on how an agent should call or interpret the result, and it says nothing about pagination, filtering defaults, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, but the brevity comes from under-specification rather than discipline; the one sentence present is about internal plumbing and does not front-load anything a caller needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 18 filter parameters, no output schema, and no annotations explaining the data model, the description supplies essentially nothing — not what a risk acceptance is, not what filters are meaningful, not how results are paginated or ordered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 18 parameters with 0% description coverage, including non-obvious filters like to_review, risk_scenarios, approver, max_pages, and a family of expiry_date__* lookups. The description mentions none of them, so an agent gets no help understanding filter semantics, types, or that offset/limit/max_pages control pagination.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is an internal implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does for a caller. It implies a list operation exists but never names the resource — risk acceptances — so an agent cannot distinguish it from the dozens of sibling *_list tools without decoding the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus ciso_assistant_api_risk_acceptances_retrieve, _to_review_retrieve, _waiting_retrieve, or _state_retrieve, all of which are plausible alternatives in the sibling set. Nothing indicates prerequisites, scope, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_acceptances_object_retrieveApi risk acceptances object retrieveDRead-onlyIdempotent
API endpoint that allows risk acceptance to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows risk acceptance to be 'viewed or edited', but the annotations declare readOnlyHint=true and destructiveHint=false. Claiming edit capability on a read-only retrieve tool directly conflicts with the structured safety metadata, and no other behavior (auth, 404 on missing id, response shape) is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no bloat, but it is generic boilerplate that puts no distinguishing information up front.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a totally undocumented id parameter, the description needed to explain what object is returned and how it differs from the retrieve/list siblings. It does neither and muddies the read-only nature, leaving the definition inadequate for correct selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is documented neither in the schema nor in the description. The one sentence adds no meaning about what the id refers to (risk acceptance UUID/pk) or its format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description mostly restates the title/name ('risk acceptance to be viewed or edited') without stating that it fetches a single risk acceptance by id. With siblings like risk_acceptances_list, _retrieve, and _object_retrieve, an agent cannot tell from this text which one returns one object versus a collection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many sibling risk-acceptance endpoints (list, retrieve, state, to_review, waiting, accept/reject/submit/revoke). Usage is left entirely to inference from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_acceptances_partial_updateApi risk acceptances partial updateC
API endpoint that allows risk acceptance to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, so the safety profile is partly covered. The description adds nothing about what fields are modifiable via PATCH, whether omitted fields are preserved, or what the response looks like; 'viewed or edited' is weak and slightly at odds with a pure partial-update mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is structurally tight. The brevity, however, reflects under-specification rather than density of useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint whose body is an untyped object with no schema docs and no output schema, the description should explain editable fields and PATCH semantics. It does none of this, leaving the agent without enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and an opaque 'body' object of arbitrary properties, the description carries the full burden but says nothing about what 'id' identifies or which fields the body accepts. No tag, format, or field-level guidance is provided to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title generically ('API endpoint that allows risk acceptance to be viewed or edited') without naming the specific action or resource scope a partial_update performs. 'Viewed or edited' blurs the operation and does not distinguish this tool from risk_acceptances_update, create, or destroy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (e.g., the object must exist and be in an editable state), and no reference to the many sibling tools like risk_acceptances_update (full update) or risk_acceptances_accept. The agent is left to infer the choice entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_acceptances_reject_createApi risk acceptances reject createD
API endpoint that allows risk acceptance to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose that this is a rejection workflow action, what state transition it causes, what preconditions apply, or what happens to the risk acceptance. Its 'viewed or edited' wording is materially misleading for an action that is not read-only according to annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence, so it is concise, but that brevity is not useful because the sentence describes the wrong operation. The content does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation-style reject action with one undocumented parameter and no output schema, the description should at minimum explain the operation, the identifier, and the expected state change. It does none of that and instead describes viewing/editing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, id, has zero schema description coverage, and the description does not explain that it identifies the risk acceptance to reject. There is no added meaning beyond the bare schema field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says this endpoint allows a risk acceptance to be 'viewed or edited,' which does not describe the reject action indicated by the tool name and title. It is misleading rather than merely vague, so an agent cannot reliably tell what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool, when not to use it, or how it relates to sibling actions such as accept, revoke, or submit. The description provides no routing help at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_acceptances_retrieveApi risk acceptances retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description does add genuinely useful non-annotation context: unauthorized related fields are masked in the response, a field-level permission behavior. It does not specify what gets masked or what happens on missing/inaccessible ids.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, and the most decision-relevant fact (masking of unauthorized fields) is stated up front. It is terse but not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the burden of explaining return content; it says only 'a single object' plus masking. For a retrieve-by-id tool with an undocumented parameter, it omits the resource identity, id semantics, and any indication of the returned shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter 'id' has 0% schema description coverage and the description never mentions it or says which kind of id is expected (risk acceptance id vs. a related object's id). With low schema coverage the description should compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only states 'Return a single object', which paraphrases the retrieve operation already implied by the tool name. It never names the resource (risk acceptances) or distinguishes itself from close siblings such as risk_acceptances_object_retrieve or risk_acceptances_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool rather than risk_acceptances_list, risk_acceptances_object_retrieve, or risk_acceptances_state_retrieve. The agent must infer the usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_acceptances_revoke_createApi risk acceptances revoke createD
API endpoint that allows risk acceptance to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and openWorldHint=true, yet the description claims the endpoint allows the resource to be "viewed", directly implying read-only behavior. It says nothing about what a revoke does, whether it is reversible, whether prior acceptance state is lost, or what permissions are required — the exact behavioral facts an agent needs before firing a revoke.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, but it is pure boilerplate that spends its words on an inaccurate generalization rather than the action, object, and effect. Brevity here reflects under-specification rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, non-read-only action endpoint with one undocumented parameter and no output schema, the description should at minimum name the action (revoke), the target (a risk acceptance), and the resulting state change. It supplies none of these, and its 'viewed or edited' framing is actively misleading.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description adds nothing about the single required parameter. An agent must infer that 'id' is the risk acceptance identifier to revoke, and receives no hint about accepted ID format or what happens when an invalid/non-pending acceptance ID is supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a generic DRF boilerplate line ("allows risk acceptance to be viewed or edited") that never mentions the operation the tool name advertises: revoke. It restates a resource but gives no specific verb, so an agent cannot tell what calling this actually does, and it is indistinguishable from the boilerplate attached to hundreds of sibling endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all, and nothing distinguishes this from the closely related siblings ciso_assistant_api_risk_acceptances_accept_create, _reject_create, _submit_create, _draft_create, or _destroy. Worse, the phrase "viewed or edited" suggests a read/update operation, which points an agent away from the actual revoke action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_acceptances_state_retrieveApi risk acceptances state retrieveCRead-onlyIdempotent
API endpoint that allows risk acceptance to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows a risk acceptance to be 'viewed or edited', implying write capability, while annotations declare readOnlyHint=true and destructiveHint=false. This boilerplate contradiction could lead an agent to attempt a mutation through a read-only endpoint. No additional behavioral context (what 'state' returns, side effects, auth scope) is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no wasted words, but that brevity comes from generic boilerplate rather than deliberate information design. The one phrase that carries meaning ('viewed or edited') is the misleading one.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description is the only place to explain that this endpoint returns the set of possible risk-acceptance states/status values rather than a specific record. It omits that entirely, so an agent cannot tell what the response will contain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to document beyond what the schema shows; baseline 4 applies. The description adds no parameter-level detail, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (risk acceptance) but uses generic DRF boilerplate rather than stating a specific verb, and it never explains what the 'state' sub-resource actually is. It also does not distinguish this from the many sibling operations on the same resource (risk_acceptances_retrieve, _list, _object_retrieve, _to_review_retrieve, _waiting_retrieve).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to call this versus the other risk-acceptance endpoints, and no mention of required identifiers or prerequisites. The agent is left to infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_acceptances_submit_createApi risk acceptances submit createD
API endpoint that allows risk acceptance to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no context beyond the annotations: it does not explain what submitting a risk acceptance does, what state transition it causes, what permissions are needed, or whether the action is reversible. Worse, it frames the tool as viewing/editing while the annotations mark it as a non-read-only write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence, but it is boilerplate that neither front-loads the submit action nor earns its place. The brevity reflects under-specification rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write/action endpoint with one required but undocumented parameter and no output schema, the description should at least explain the submit semantics and the meaning of the id. It provides neither, so an agent has no basis for calling it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter, 'id', with 0% description coverage, and the description does not mention it at all. It does not clarify whether 'id' is the risk acceptance primary key, a workflow id, or something else.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint allows a risk acceptance to be 'viewed or edited,' which does not match the 'submit' action in the tool name and would lead an agent toward retrieve/update behavior instead. It names the resource but gives a misleading verb and does not distinguish this tool from its many risk_acceptances siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool rather than risk_acceptances_accept_create, reject_create, revoke_create, retrieve, update, or partial_update. The only usage statement points toward viewing/editing, which is the opposite of a submit action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_acceptances_to_review_retrieveApi risk acceptances to review retrieveCRead-onlyIdempotent
API endpoint that allows risk acceptance to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint lets a risk acceptance be 'edited', while annotations declare readOnlyHint=true and destructiveHint=false. That is a direct conflict, and the description otherwise adds nothing about scope, filtering, or return shape beyond what annotations already state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not bloated, but the sentence is filler boilerplate rather than front-loaded substance. Brevity here comes from under-specification, not from efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries more burden, yet it says nothing about what records are returned, how the 'to review' set is determined, or pagination. For a read endpoint that is one of many similarly named siblings, this leaves the agent without enough to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify and the baseline of 4 applies. However, the description does not indicate whether this endpoint is implicitly scoped to the current user's review queue, which would have been the one useful semantic note.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate — 'API endpoint that allows risk acceptance to be viewed or edited' — which merely restates the resource already named in the tool name. It never explains the distinguishing semantic of this endpoint versus siblings such as risk_acceptances_list, risk_acceptances_waiting_retrieve, or risk_acceptances_retrieve: namely what 'to review' means as a filter/state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given at all. With several near-identical siblings (list, waiting_retrieve, state_retrieve, retrieve), an agent has no stated basis for choosing this endpoint over them; the only hint is the name suffix, not the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_acceptances_updateApi risk acceptances updateDIdempotent
API endpoint that allows risk acceptance to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so safety is covered structurally. The description adds nothing about what an update does to an existing risk acceptance record, what fields are mutable, or what happens on conflict; worse, the phrase "viewed or edited" implies a read capability this non-read-only tool does not primarily offer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but that brevity is under-specification rather than economy — the one clause present is generic boilerplate that conveys no actionable detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with 0% parameter coverage, an opaque free-form body, and no output schema, the description provides none of the information an agent needs: no payload contract, no side-effect disclosure, no return semantics, and no routing against the many sibling risk-acceptance endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%: `id` is an undescribed string and `body` is an unconstrained anyOf object with no property definitions or description. The description supplies no compensating information about what the body must contain, which payload shape to send, or whether it is a full replace versus a merge.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title in prose ("risk acceptance ... viewed or edited") without committing to a verb. It never says this is an update operation, and "viewed or edited" conflates it with the sibling retrieve/partial_update tools, so an agent cannot distinguish the operation from its 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.
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 rather than ciso_assistant_api_risk_acceptances_partial_update, _retrieve, or _update, nor any mention of prerequisites, required identifiers, or the state machine actions (accept/reject/submit) that also exist for this resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_acceptances_waiting_retrieveApi risk acceptances waiting retrieveCRead-onlyIdempotent
API endpoint that allows risk acceptance to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows the record to be 'edited', while annotations declare readOnlyHint=true, destructiveHint=false, and the input schema has zero parameters, so no edit is possible. It adds no behavioral context beyond the annotations (no explanation of the waiting filter, permissions, or result set).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, so it is not bloated, but it carries almost no information — every word is boilerplate that could be pasted onto any CRUD endpoint in this server.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, zero parameters, and a dense sibling set over risk acceptances, the description should clarify what a 'waiting' acceptance is and roughly what is returned. Instead it leaves the agent unable to choose this tool confidently over its siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; there is nothing for the description to disambiguate. However, the description offers no hint that the endpoint is implicitly scoped (e.g. filtered to waiting acceptances) despite accepting no filter inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the endpoint name in generic Django-REST boilerplate ('allows risk acceptance to be viewed or edited') without explaining the distinguishing concept in the tool name: which risk acceptances are 'waiting'. It does not differentiate from the many sibling tools over the same resource (risk_acceptances_list, risk_acceptances_retrieve, risk_acceptances_to_review_retrieve, risk_acceptances_state_retrieve).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this tool versus the near-identical siblings (list, retrieve, to_review, state). The agent is left to guess whether 'waiting' means awaiting approval, awaiting review, or some other status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_action_plan_budget_overview_listApi risk assessments action plan budget overview listDRead-onlyIdempotent
Mixin that computes budget aggregation over an applied controls queryset.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as read-only, idempotent, open-world, and non-destructive. The description adds only an internal implementation detail about aggregation over a queryset, without explaining pagination, return shape, permissions, or what the budget overview actually contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is front-loaded with the internal term 'Mixin' rather than the user-facing action. The single sentence is concise yet poorly structured for tool selection and contains implementation jargon that does not help an agent invoke the endpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter list endpoint with no output schema and 0% schema description coverage, the description is entirely inadequate. It does not explain the id semantics, pagination, filtering behavior, or what the budget overview response will contain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not clarify any of the six parameters. The required id is undocumented, as are limit, offset, search, ordering, and max_pages, so the description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it computes budget aggregation over an applied controls queryset, but it does not state that this is a list endpoint for risk-assessment action-plan budget overviews. It uses implementation jargon ('Mixin', 'queryset') and never mentions the risk assessment or action-plan resource, so it is difficult to distinguish from sibling budget-overview endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus the sibling action_plan_list, action_plan_excel_retrieve, action_plan_pdf_retrieve, compliance_assessments_action_plan_budget_overview_list, or crq_quantitative_risk_studies_action_plan_budget_overview_list. It also does not state prerequisites or the meaning of the required id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_action_plan_excel_retrieveApi risk assessments action plan excel retrieveCRead-onlyIdempotent
API endpoint that allows risk assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, but the description says the endpoint allows risk assessments to be 'edited', implying a write path on a read-only tool. Beyond that contradiction it says nothing about the response being a binary Excel file, its filename, or content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, but its brevity comes from being boilerplate rather than informative, so it fails to front-load anything useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an export endpoint with no output schema and no annotations explaining the payload, the description should say that it returns an Excel workbook for a given assessment. That essential context is entirely absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required 'id' parameter with 0% schema description coverage, and the description does not say whether it identifies the risk assessment, the action plan, or something else. Nothing is added beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'API endpoint that allows risk assessments to be viewed or edited' restates generic DRF boilerplate and never mentions the actual resource in the tool name: the action-plan Excel export for a risk assessment. It does not distinguish this from siblings such as risk_assessments_action_plan_pdf_retrieve or risk_assessments_action_plan_list, and 'viewed or edited' actively misdescribes a retrieve call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this versus the pdf retrieve, the action_plan_list, or the parent risk assessment retrieve. An agent must infer from the tool name alone that this produces an Excel rendition of the action plan.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_action_plan_listApi risk assessments action plan listDRead-onlyIdempotent
api_risk_assessments_action_plan_list
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so safety and idempotency are covered structurally. The description contributes nothing additional — no mention of pagination behavior implied by limit/offset/max_pages, no note that results are scoped to the required id, no return-shape hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that is under-specification rather than conciseness: a bare identifier restated provides no front-loaded purpose statement or structure. There is no sentence that earns a place because there is effectively no content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With six undocumented parameters, no output schema, and no annotation coverage of return semantics, the description should explain what is being listed and how the id scopes it. It provides none of that, leaving the agent unable to call the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across six parameters, including a required id and pagination controls (limit, offset, max_pages) plus search and ordering. The description provides no clarification of what id refers to (a risk assessment ID), what search matches, or what fields ordering accepts, so it fails to compensate for the total schema documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the snake_case tool name repeated verbatim, so it conveys nothing beyond what the identifier already implies. An agent can guess this lists action-plan items for a risk assessment, but no verb, scope, or returned resource is stated, and no sibling (e.g. the budget_overview, excel, or pdf action-plan variants) is distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this versus the many adjacent tools such as ciso_assistant_api_risk_assessments_action_plan_budget_overview_list, action_plan_excel_retrieve, or action_plan_pdf_retrieve. No prerequisites, no exclusion conditions, no alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_action_plan_pdf_retrieveApi risk assessments action plan pdf retrieveDRead-onlyIdempotent
API endpoint that allows risk assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, yet the description states the endpoint allows risk assessments to be 'viewed or edited' — implying mutation on a read-only tool. Beyond that contradiction the description adds nothing about what is generated (a PDF), whether it is expensive, or how it is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, but that brevity comes from being boilerplate rather than from being efficient — the sentence conveys no tool-specific information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, one undocumented parameter, and the description omits the defining facts: that this produces a PDF of the risk assessment action plan and what identifier it consumes. Nothing an agent needs in order to invoke it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter ('id') with 0% schema description coverage, so the description carries the full burden and says nothing about it. An agent must guess whether the id refers to the risk assessment, the action plan, or a generic object reference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate ('allows risk assessments to be viewed or edited') and never mentions the actual operation implied by the name: retrieving a PDF action plan for a risk assessment. With dozens of sibling tools on the same resource (risk_assessment_pdf_retrieve, action_plan_list, action_plan_excel_retrieve, action_plan_budget_overview_list), it does nothing to distinguish itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is given. An agent cannot tell from this text that it should call this instead of action_plan_excel_retrieve or risk_assessment_pdf_retrieve, nor that it is specifically a PDF export of the action plan.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_batch_action_createApi risk assessments batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=false, idempotent=false, openWorld=true, and the description adds nothing beyond them: it does not say what action types are supported, what payload/effect occurs, whether partial failure is possible, or what permissions are needed. For a non-idempotent write tool whose semantics are entirely unspecified, this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, so it is concise, but the brevity comes at the cost of specification rather than from efficiency. There is nothing to front-load because nothing substantive is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with an empty input schema, no output schema, no annotations explaining payload shape, and hundreds of near-identical siblings needs the description to carry almost everything — yet it provides no action vocabulary, no payload guidance, and no return expectations. An agent cannot confidently invoke this tool from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema exposes zero parameters, which normally sets a baseline of 4, but the tool name and description imply a batch operation that must carry object ids and an action type — the description gives no hint where those go or what format they take despite `additionalProperties: false`. The description therefore leaves a critical input ambiguity unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Perform a batch action on multiple objects" restates the name's own wording without naming the resource (risk assessments) or what the action does (create/update/delete/assign). Dozens of siblings share the identical batch_action_create suffix, so nothing here distinguishes this tool from ciso_assistant_api_assets_batch_action_create or any other.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to prefer this over single-object create/partial_update siblings, and no prerequisites. The only implicit signal is "multiple objects" vs singular siblings, which the agent must infer entirely on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_cascade_info_retrieveApi risk assessments cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 essentially no behavioral context beyond the word "preview" — it does not say what the cascade contains, what the id refers to, or what the preview response looks like. The fragment does not contradict the annotations, but it contributes almost nothing on top of them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Brevity here is under-specification rather than conciseness: a two-word fragment terminated by a colon implies content that never follows. There is no front-loaded statement of action or outcome.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A read-only retrieval endpoint with a required id, no output schema, and no parameter documentation needs a description to explain what is returned and why it is a "preview." The description is effectively empty, leaving the agent unable to call this correctly or interpret the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter "id" has 0% schema description coverage, so the description was the only place to explain what object id is expected. "Cascade preview:" supplies nothing — not the model type, not the format, not whether it is a slug or numeric pk. Only the generic name "id" offers any hint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a dangling fragment that trails off with a colon and never states a verb or the resource being previewed. It only echoes the suffix of the tool name (cascade_info_retrieve) and does nothing to distinguish this from the dozens of other *_cascade_info_retrieve siblings in the namespace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to call this, what it is a preview of, or how it relates to risk_assessments_retrieve, risk_assessments_object_retrieve, or the many other cascade_info tools. An agent has no basis to choose this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_convert_to_quantitative_createApi risk assessments convert to quantitative createC
Convert a qualitative risk assessment to a quantitative risk study.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-idempotent, non-destructive, open-world create, yet the description adds essentially nothing beyond restating the name: it doesn't say whether a new CRQ study object is created, whether the source assessment is modified or linked, whether simulations are triggered, or that repeated calls create duplicates. For a non-idempotent conversion with side effects, that is a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, front-loaded with the verb and resource; nothing is redundant. It is arguably under-specified rather than over-written, which is penalized elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists and no return value is described (does it return the new quantitative risk study, a task id, or nothing?), and with a single undocumented parameter plus undisclosed side effects, an agent lacks what it needs to call this confidently in a large, densely populated sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter 'id' with 0% schema description coverage, and the description never states that this is the identifier of the source qualitative risk assessment, nor its format (UUID/int). The phrase 'a qualitative risk assessment' implies it, but the agent must guess between assessment id, risk scenario id, or folder id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('convert') and both the source resource (qualitative risk assessment) and the resulting resource (quantitative risk study), which distinguishes it from siblings like risk_assessments_create or crq_quantitative_risk_studies_create. It could be sharper by naming the entity the id belongs to, but the action/effect is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the word 'convert' – an agent can infer it should be used when a qualitative assessment already exists and a CRQ study is wanted, but the description names no alternative (e.g. duplicate, sync_from_ebios_rm) nor any precondition such as the assessment needing to be complete or of a compatible kind.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_createApi risk assessments createD
API endpoint that allows risk assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds nothing about what a creation does — no mention of required fields, side effects such as generated references or linked objects, or what happens on repeated calls — and its 'viewed or edited' wording obscures rather than clarifies the write behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the one sentence it contains does not earn its place: it conveys boilerplate rather than the operation's semantics. Brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with no output schema, a fully undocumented request body, and an annotation-only safety profile needs the description to explain the create payload and outcome. Nothing about request contents, required fields, or response is given, so the definition is not actionable as written.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'body' parameter is an untyped open object (anyOf object/null, additionalProperties true). The description provides no information about what the body must contain, so the agent has literally no structured or textual hint about the payload shape for a create operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence is generic auto-generated boilerplate that restates the title and names the resource ('risk assessments'), but it says they can be 'viewed or edited' — never that this endpoint creates one, despite the tool name ending in _create. An agent reading only the description would not know this is the creation operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool, no prerequisites, and no mention of the obvious siblings (partial_update, update, list, retrieve, duplicate_create) that an agent must choose between in this large risk-assessment family. The 'viewed or edited' phrasing actively pushes the agent toward the wrong sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_destroyApi risk assessments destroyDDestructiveIdempotent
API endpoint that allows risk assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, readOnlyHint=false and idempotentHint=true, but the description claims the endpoint is for viewing or editing. This directly contradicts the destructive-delete behavior the agent must know about before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and front-loaded, but the single sentence is an auto-generated boilerplate string that conveys incorrect information rather than useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent-perception mutation with no output schema and no parameter documentation, the description must carry the safety burden. It does the opposite by framing a delete as a view/edit operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter (id) with 0% schema description coverage, and the description says nothing about it. The agent gets no signal that id identifies the specific risk assessment to delete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (risk assessments) but gives the wrong operation: 'viewed or edited' when the tool is a destroy endpoint. An agent reading only the description would not know this deletes a risk assessment, which is the single most important fact.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus the many sibling risk-assessment tools (retrieve, partial_update, duplicate, batch_action). No preconditions, no warnings, no mention that deletion is permanent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_duplicate_createApi risk assessments duplicate createD
API endpoint that allows risk assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the description owes the agent context beyond that — e.g. that a copy of the referenced risk assessment is created, whether the source is modified, and what naming the copy gets. Instead it repeats 'viewed or edited', which leans toward a read operation and conflicts 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, but it is generic boilerplate that spends its only words on 'viewed or edited' rather than the duplicate semantics. Efficiency without substance is under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation endpoint taking a required id with no output schema and no parameter documentation; the description should at minimum explain that a duplicate copy is produced. The generic CRUD sentence leaves the agent unable to call it safely or predict its effect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required 'id' parameter has 0% schema description coverage, so the description carries full responsibility for explaining it. It says nothing about the id at all — not whether it identifies the source risk assessment to duplicate, nor any format or scope. Only the parameter's obviousness keeps this above 1.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only says it 'allows risk assessments to be viewed or edited', a generic CRUD boilerplate that never mentions duplication — the actual operation named in the tool name and title. An agent would have no way to tell this apart from list/retrieve/update siblings, and 'viewed' actively points the wrong direction for a create-style tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus ciso_assistant_api_risk_assessments_create, _partial_update, _retrieve, or any of the dozens of sibling risk_assessment endpoints. The generic phrasing implies a read/edit capability rather than the duplicate action, which would misroute the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_listApi risk assessments listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| ref_id | No | ||
| search | No | ||
| status | No | ||
| authors | No | ||
| due_date | No | ||
| ordering | No | ||
| max_pages | No | ||
| perimeter | No | ||
| reviewers | No | ||
| risk_matrix | No | ||
| due_date__year | No | ||
| ebios_rm_study | No | ||
| due_date__month | No | ||
| genericcollection | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, openWorld, so the safety profile is covered. The description adds nothing beyond that: it doesn't reveal that results are paginated, what 'optimized data' means in the response, or any access/scoping behavior. It is not contradictory, just uninformative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but the brevity is under-specification rather than efficiency: the one sentence spent conveys internal serializer plumbing instead of the tool's purpose or usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 19 undocumented parameters, no output schema, and no annotation detail about filtering semantics, the description leaves an agent unable to call the tool correctly beyond guessing. It fails entirely to fill the gaps the structured fields leave.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 19 parameters, so the description must compensate — and it does not name a single parameter. Filters like status, authors, perimeter, risk_matrix, search, ordering, limit/offset and max_pages are all left completely unexplained, including non-obvious ones like genericcollection and due_date__year/month.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal implementation note ("Override the list method to inject optimized data into the serializer context") rather than a statement of what the tool does. Any sense of purpose comes only from the name/title inferring a list of risk assessments; the text itself never says it lists or returns risk assessments, nor distinguishes it from ciso_assistant_api_risk_assessments_retrieve or object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many sibling retrieval tools (retrieve, object_retrieve, per_status_retrieve, action_plan_list). No prerequisites, no mention of filters or pagination behavior that would tell an agent when this is the right entry point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_object_retrieveApi risk assessments object retrieveCRead-onlyIdempotent
API endpoint that allows risk assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, but the description claims the endpoint allows risk assessments to be "edited". That states a mutation capability the annotations explicitly deny, so an agent could reasonably attempt a write through a read-only tool. Beyond that contradiction it discloses nothing about behavior, permissions, or not-found handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short, front-loaded sentence with no filler, so it passes on brevity. But the content is generic generated boilerplate that conveys almost no information, making the conciseness a byproduct of under-specification rather than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-object retrieval with no output schema and no annotation-covered return details, the description should at minimum say it fetches one risk assessment by id and how that differs from risk_assessments_retrieve / _list. It says neither, and the "edited" wording further muddies what the tool actually does.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter `id` is an undescribed string. The description never mentions the identifier at all — not its type, source, or whether it is a numeric pk or a UUID — so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states the resource (risk assessments) but with a vague dual purpose: "viewed or edited", with no verb specificity about fetching a single record by id. It does nothing to distinguish this from the many sibling risk-assessment endpoints (risk_assessments_retrieve, risk_assessments_list, risk_assessments_partial_update, risk_assessments_object_retrieve), so an agent cannot tell which one to pick from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the required id, and no named alternative. The phrase "viewed or edited" actively leaves open two different usage modes without saying which applies or when to use the sibling list/retrieve/update tools instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_partial_updateApi risk assessments partial updateD
API endpoint that allows risk assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so partial-update semantics should be explained there. The description adds nothing about partial-vs-full semantics, whether omitted fields are preserved, permission requirements, or what a null/empty body does — the one thing that matters for a PATCH endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence, but it is boilerplate that conveys no usable information. Brevity here comes from under-specification rather than from disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with an opaque free-form body, no output schema, and 0% schema coverage requires the description to carry the entire burden — field list, partial-update semantics, and permissions. None of that is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description adds no parameter information at all. The `body` parameter is an untyped open object (additionalProperties: true) with default null, so without any documentation the agent has no way to know which risk-assessment fields are patchable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence is the stock DRF docstring restating the endpoint name: "risk assessments" plus "viewed or edited." It never distinguishes this PATCH tool from the many siblings (risk_assessments_update, risk_assessments_retrieve, risk_assessments_list) and the phrase "viewed or edited" actively muddies what the tool actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus risk_assessments_update (full replacement) or risk_assessments_retrieve (read). The single sentence provides no trigger condition, prerequisites, or exclusion, leaving the agent to infer everything from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_per_status_retrieveApi risk assessments per status retrieveCRead-onlyIdempotent
API endpoint that allows risk assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says risk assessments can be 'viewed or edited,' which implies write capability, while annotations explicitly declare readOnlyHint=true. This is a direct contradiction, and the description adds no useful behavioral context such as auth requirements, grouping semantics, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is concise, but the sentence is vague and front-loads generic 'API endpoint' framing rather than the tool's actual operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even for a parameterless retrieval endpoint, the description fails to clarify what 'per status' means, what data is returned, or how it differs from adjacent risk-assessment retrieval tools. With no output schema, the description should do more to explain the expected result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and full schema description coverage, so there is no parameter semantics burden on the description. The baseline for a parameterless tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only says it is an API endpoint that allows risk assessments to be viewed or edited, which mostly restates the fact that it is an API endpoint. It does not explain the 'per_status' behavior or distinguish this from sibling tools like risk_assessments_status_retrieve, risk_assessments_list, or risk_assessments_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling risk-assessment retrieval tools. It also does not explain when the per-status grouping should be preferred over a general list or status endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_quality_check_retrieveApi risk assessments quality check retrieveCRead-onlyIdempotent
Returns the quality check of the risk assessments
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior, so the description's main job is to explain what the quality check actually evaluates. It does not describe the return payload, validation rules, or any data dependencies, instead largely restating the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence with no wasted words, but it is under-specified rather than concise. It does not front-load any meaningful behavioral detail beyond the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description carries the full burden of explaining what the quality check returns. It does not describe the result shape, the assessment scope, or how this differs from the `_2` endpoint, leaving the agent with insufficient context to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema confirms an empty object, so there are no parameter semantics to document. A baseline of 4 is appropriate for a zero-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it returns a quality check for risk assessments. However, it does not explain what a 'quality check' contains, and it does not distinguish this tool from the sibling `ciso_assistant_api_risk_assessments_quality_check_retrieve_2`, leaving ambiguity about which one to use.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what preconditions apply, or how it differs from the near-identical sibling `_2` endpoint. 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.
ciso_assistant_api_risk_assessments_quality_check_retrieve_2Api risk assessments quality check retrieve 2CRead-onlyIdempotent
Returns the quality check of the risk_assessment
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is fully covered structurally. The description adds nothing beyond that: it doesn't describe what the quality check payload contains, its severity structure, or why a second retrieve variant exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded sentence with no padding, which is structurally clean. It is under-specified rather than verbose, so brevity here doesn't earn full marks.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should at least sketch the return shape; instead it gives none. Combined with an undocumented parameter and an unexplained duplicate sibling, an agent lacks the information needed to call this correctly and preferentially.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter 'id' with 0% schema description coverage, and the description never clarifies that this id is the risk assessment's identifier, nor its format (UUID vs. numeric). With low coverage the description should compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb ('Returns') and resource ('quality check of the risk_assessment') are identifiable, so the agent knows the general operation. But it cannot tell this apart from the sibling ciso_assistant_api_risk_assessments_quality_check_retrieve (and the '_2' suffix is never explained), which is exactly the ambiguity the description should resolve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this tool, no prerequisites, and no mention of the near-identical sibling quality_check_retrieve that shares the same purpose. The agent is left to guess which of the two endpoints to pick and when either is relevant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_retrieveApi risk assessments retrieveBRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds a genuinely useful behavioral nuance beyond the annotations: related fields may be masked based on authorization, which tells the agent the returned object may be incomplete depending on permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words, though its brevity contributes to the gaps in purpose and parameter explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity, one-parameter read tool with annotations covering safety, the description is minimally adequate, but it omits error behavior (e.g., missing/invalid id) and any indication of what the retrieved object contains beyond the masking note.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description says nothing about the single required id parameter (format, source, whether it is a UUID or ref). With one undocumented parameter, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description implies a single-object retrieval but never names the resource (risk assessment) or distinguishes it from siblings such as object_retrieve or list. The verb-and-resource meaning is only recoverable from the tool name, not 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling retrieval tools (e.g., risk_assessments_object_retrieve, risk_assessments_list). The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_risk_analytics_retrieveApi risk assessments risk analytics retrieveCRead-onlyIdempotent
Analytics data for a single risk assessment.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds no further behavioral context such as what analytics are computed, permissions needed, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single short sentence with no wasted words and is front-loaded. Its brevity is efficient, though it borders on under-specification rather than maximal helpfulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what 'analytics data' contains, but it does not. Combined with no usage guidance relative to sibling retrieve/export tools, it leaves important context missing for an agent choosing and calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter. The description only implies that 'id' identifies a risk assessment via 'single risk assessment'; it does not add format, constraints, or explicit parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a resource ('single risk assessment') and a data category ('Analytics data'), but 'analytics data' is vague and does not specify what kind of analytics are returned. It is distinguishable from the plain risk-assessment retrieve sibling only by the word 'analytics', which is weak differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool instead of ciso_assistant_api_risk_assessments_retrieve or the many other risk-assessment analytics/export endpoints. The intended context is only implied by 'analytics data'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_risk_assessment_csv_retrieveApi risk assessments risk assessment csv retrieveDRead-onlyIdempotent
API endpoint that allows risk assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, yet the description says the endpoint allows assessments to be 'viewed or edited' — a direct claim of write capability that contradicts the read-only annotation. The description adds nothing verifiable about CSV output, auth needs, or size/rate implications of an export endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is concise, but the brevity is achieved by omitting the only useful facts (CSV export, id semantics) rather than by front-loading them. Short and empty rather than short and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterized export tool with no output schema and three near-identical CSV/xLSX/PDF siblings, the description supplies none of the missing context: not the output format, not what 'id' selects, not how it differs from risk_assessments_retrieve or risk_assessment_xlsx_retrieve. An agent cannot call this correctly without inferring everything from the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, so the description carries the full burden — but it never mentions the parameter at all. An agent cannot tell from the text whether 'id' is the risk assessment UUID, a scenario id, or a filter argument, and must guess for a CSV export keyed on a single identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate that restates the endpoint name rather than stating the operation: it never mentions that this retrieves a risk assessment in CSV format, which is the distinguishing trait in the tool name and separates it from risk_assessment_xlsx_retrieve and risk_assessment_pdf_retrieve. It technically names a resource (risk assessments) but the verb is vague ('viewed or edited') and would apply equally to dozens of siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of prerequisites (an 'id' must be known), and no routing to the CSV/xlsx/pdf/plain-retrieve alternatives that exist as siblings. Worse, 'or edited' implies a write path that no annotation supports, so an agent could be steered toward the wrong mental model rather than merely left without guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_risk_assessment_pdf_retrieveApi risk assessments risk assessment pdf retrieveCRead-onlyIdempotent
API endpoint that allows risk assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 nothing beyond that boilerplate and actually misleads by mentioning 'edited', which suggests write capability that the endpoint does not have. It says nothing about what is returned (binary PDF, stream, or reference) for a retrieval endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, so it is concise and front-loaded. However the brevity comes from generic boilerplate rather than from tight, purposeful wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a PDF-export endpoint with no output schema and an undocumented id parameter, the description should at minimum explain that a PDF document for the given risk assessment is returned. None of that is present, so an agent cannot call it with confidence about the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required 'id' parameter with 0% schema description coverage, and the description does not say what it identifies or what format it takes. The one detail an agent needs – that 'id' is the risk assessment record identifier used for the PDF – is left to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the resource (risk assessments) but never says the endpoint produces a PDF, which is the distinguishing feature signalled by the tool name. It also includes 'or edited', which is wrong for a path-parameter-only retrieve. An agent cannot tell this apart from siblings such as risk_assessments_retrieve, risk_assessment_csv_retrieve, or risk_assessment_xlsx_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given: nothing says to pick this when a PDF rendering of a risk assessment is needed versus the CSV/XLSX exports or the plain JSON retrieve. The verb 'viewed' weakly implies read usage, but there are no alternatives or exclusions named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_risk_assessment_xlsx_retrieveApi risk assessments risk assessment xlsx retrieveDRead-onlyIdempotent
API endpoint that allows risk assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows records to be 'viewed or edited', while annotations declare readOnlyHint=true and destructiveHint=false — a write capability is asserted where none exists. It also never discloses the behavior that matters most here: that the call returns a binary XLSX file rather than a JSON object.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, so it is not bloated, but its brevity comes from carrying no information rather than from precision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, the single parameter is undocumented, and the description never states the response format, content type, or what the spreadsheet contains. An agent cannot call this correctly or interpret the result from what is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter ('id') with 0% schema description coverage, and the description adds nothing about it — not whether it is the risk assessment's UUID, an integer PK, or how to obtain it. With zero coverage, the description was obligated to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate ('allows risk assessments to be viewed or edited') that restates the resource name and never mentions the actual operation implied by the tool name: exporting a risk assessment as an XLSX spreadsheet. It is indistinguishable from siblings like risk_assessments_retrieve, risk_assessment_csv_retrieve, or risk_assessment_pdf_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the CSV, PDF, or plain JSON retrieve variants that sit right next to it in the sibling list. The agent must infer the format choice entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_risk_timeline_retrieveApi risk assessments risk timeline retrieveCRead-onlyIdempotent
Returns risk metrics over time from BuiltinMetricSample snapshots.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive, so the safety profile is covered. The description adds one genuinely useful behavioral fact — results are derived from BuiltinMetricSample snapshots rather than computed live — but says nothing about granularity, date scoping, or whether samples must be refreshed first.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no filler or repetition. It is efficient, though efficiency here partly reflects under-specification rather than disciplined trimming.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining the return shape (series length, fields, sample cadence) and the meaning of 'id' — neither is addressed. For a timeline endpoint whose value is entirely in the returned series, this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single required parameter is an untyped-meaning 'id'. The description never clarifies whether this is a risk assessment id, an object id, or a metric instance id, which is exactly what the description needed to compensate for here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific output ('risk metrics over time') and its data source ('BuiltinMetricSample snapshots'), which is enough to distinguish it from flat metric dumps like risk_analytics_retrieve. It does not explicitly name a sibling or state the scope of the returned series, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the many other risk-metric endpoints (risk_analytics_retrieve, risk_assessments_retrieve, metrology_builtin_metric_samples_for_object_retrieve). No prerequisites or exclusions are stated; 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.
ciso_assistant_api_risk_assessments_status_retrieveApi risk assessments status retrieveCRead-onlyIdempotent
API endpoint that allows risk assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint 'allows risk assessments to be viewed or edited', while annotations declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. Claiming edit capability directly contradicts the read-only annotation and could lead an agent to expect a mutation surface that does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is not verbose. However, its brevity comes from being generic rather than from being efficient — the one sentence carries almost no information specific to this endpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no input parameters and read-only/idempotent annotations already supplied, the structured fields cover most of what an agent needs to invoke it safely. What remains missing is what the 'status' resource actually returns (a status vocabulary likely including enums such as draft/in_review/deprecated), which the description should supply since there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema has no properties, so there is nothing for the description to disambiguate. A 0-param baseline of 4 is appropriate; no parameter commentary is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the boilerplate meaning of 'retrieve' against the resource 'risk assessments', but the distinguishing element in the tool name — that this is the STATUS endpoint (returning the status vocabulary for risk assessments) — is never mentioned. It is indistinguishable from risk_assessments_retrieve, per_status_retrieve, or cascade_info_retrieve without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use statement, no alternatives named, no prerequisites. With dozens of sibling risk_assessments_* tools, an agent gets no signal about when this endpoint (status lookup) is the right choice over risk_assessments_retrieve or per_status_retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_sync_from_ebios_rm_createApi risk assessments sync from ebios rm createC
Synchronize an existing risk assessment with its linked EBIOS RM study.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare it is a non-readOnly, non-idempotent, openWorld mutation, so the agent knows it writes. The description adds nothing beyond that: it does not say what data gets overwritten in the assessment, whether the sync is replayable, or what happens if no EBIOS RM study is linked.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. Brevity is only a problem insofar as it leaves gaps, which are scored elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world write operation with no output schema and an undocumented identifier, the description is too thin — it should say what the ID identifies and what the sync mutates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, 'id', with 0% schema description coverage, and the description never clarifies whether it is the risk assessment ID or the EBIOS RM study ID — a genuinely ambiguous point given the 'sync_from_ebios_rm' naming. The description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: synchronize an existing risk assessment against its linked EBIOS RM study. This distinguishes it from the nearby sync_preview_retrieve and sync_to_actions_create siblings, though it does not name them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus ciso_assistant_api_risk_assessments_sync_preview_retrieve (a dry run) or the plain update/retrieve tools. It also omits prerequisites, such as whether the assessment must already be linked to an EBIOS RM study for the call to succeed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_sync_preview_retrieveApi risk assessments sync preview retrieveBRead-onlyIdempotent
Preview what a sync from EBIOS RM would produce.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 reinforces 'preview' (no mutation) but adds nothing about what the preview returns, what 'EBIOS RM' sync entails, or whether it can fail on an invalid id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler that immediately names the operation and source system.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple read-only tool with one param and no output schema, the description is minimally sufficient, but it omits what the preview output looks like and what the id must reference – both needed to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the sole parameter is an unlabeled 'id'. The description never says whether this is a risk-assessment id, a study id, or an EBIOS RM study id, leaving the required input ambiguous when the schema provides no help.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific operation (preview) on a specific resource (a sync from EBIOS RM), which sets it apart from the sibling sync_from_ebios_rm_create that actually performs the sync. It doesn't explicitly name that sibling, but the 'preview' framing makes the distinction inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'preview' implies this should be called before an actual sync, but the description never states that condition or names the alternative tool. Usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_sync_to_actions_createApi risk assessments sync to actions createD
API endpoint that allows risk assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and openWorldHint=true, so the burden is on the description to explain the mutation, yet it only offers the vague 'viewed or edited'. It does not disclose what a sync does (creating action/task items from the risk assessment), side effects, or whether the operation is repeated-safe (idempotentHint=false).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, but it is boilerplate that conveys no usable information; the brevity comes from under-specification rather than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world create/sync endpoint with a required id and no output schema, the description omits everything an agent would need: what is created, on what object, and what happens on repeat calls. Completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, and the description says nothing about what it identifies — the risk assessment to sync, a target action, or something else. With no compensating text, an agent cannot bind this argument confidently.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description reads as generic DRF boilerplate ('API endpoint that allows risk assessments to be viewed or edited') and never states the actual operation named in the tool: syncing risk assessments to actions. It names the resource but mis-describes the verb, so an agent cannot tell what this tool creates or how it differs from the many sibling sync/create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the obvious alternatives such as ciso_assistant_api_risk_scenarios_sync_to_actions_create or ciso_assistant_api_compliance_assessments_sync_to_actions_create. The agent is left to guess entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_assessments_updateApi risk assessments updateCIdempotent
API endpoint that allows risk assessments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that: no indication of full-replacement vs merge semantics, which fields the body may contain, permission requirements, or side effects. No contradiction with the annotations, but no added value either.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so nothing is wasted. However brevity here stems from under-specification rather than tight writing, and the most decision-relevant fact (that this updates an existing assessment) is buried in a hedge.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque free-form body, no output schema, and no annotation detail about payload expectations, the description leaves the agent unable to construct a correct call. It should at minimum state that the body is a risk-assessment object replacing the existing record.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the body parameter is an untyped open object (anyOf object/null), so the description carries the full burden and explains nothing about which risk-assessment fields are accepted or what the id refers to. The only hint is the resource name itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (risk assessments) but the verb is a hedge: 'viewed or edited' does not identify this as the update/mutation operation the tool name and annotations imply. With siblings risk_assessments_retrieve, partial_update, and update in the same namespace, an agent cannot tell from this text which one performs a full edit by id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this instead of risk_assessments_retrieve or risk_assessments_partial_update, and no prerequisites or preconditions. Worse, 'viewed or edited' suggests it might serve read purposes, which is misleading when a dedicated retrieve tool exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_batch_action_createApi risk matrices batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=false and idempotent=false, so the description owes context such as which batch operation is applied, whether it requires elevated permissions, or whether re-running matters. It supplies none, and gives no indication of how the batch payload identifies target objects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no waste, but the brevity comes from under-specification rather than economy; the single sentence carries no routing or payload information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation endpoint with no output schema, no parameter documentation, and an empty input schema. The description does not tell the agent what a 'batch action' request looks like or what it returns, leaving it effectively uncallable without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero properties with additionalProperties=false, so nominally nothing is documented anywhere; the description likewise says nothing about how target IDs and the action are supplied. For an endpoint that clearly needs a body, this is a real gap rather than a benefit of schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the generic mechanics ('batch action on multiple objects') without naming the resource: it never says risk matrices, nor which actions (delete, update, publish) the batch accepts. An agent cannot tell it apart from the dozens of sibling *_batch_action_create tools on name alone, and the description does nothing to fix that.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives (e.g. the single-object risk_matrices_update / risk_matrices_destroy / publish_draft endpoints), and no prerequisites. The agent is left to guess both the selection criteria and the intended operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_cascade_info_retrieveApi risk matrices cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 phrase "Cascade preview" adds the modest insight that this is a non-mutating preview of cascade effects, but says nothing about what the cascade covers, whether it requires auth scoping, or how large the payload is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is only two words, so nothing is wasteful, but the brevity is under-specification rather than concision. There is no front-loaded statement of what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A single-parameter retrieval endpoint with no output schema and no parameter documentation relies wholly on the description for meaning, and the description supplies essentially none. An agent cannot confidently decide when to call this over the sibling cascade-info tools or understand the `id` argument.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter `id` has 0% schema description coverage, and the description contributes nothing — not even that `id` is the risk matrix identifier. With such thin schema coverage, the description was the only place this could be explained and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment "Cascade preview:", which restates a piece of the name rather than stating a verb and resource. It does hint that the tool previews a cascade (likely a deletion cascade for a risk matrix), but an agent gets no confirmation of what is being previewed or returned. Against dozens of sibling *_cascade_info_retrieve tools, it offers no distinguishing content beyond the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all — no condition, no alternative, no prerequisite. With over a hundred siblings including many near-identical cascade_info_retrieve endpoints, guidance is exactly what this definition needed and entirely lacks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_colors_retrieveApi risk matrices colors retrieveCRead-onlyIdempotent
API endpoint that allows risk matrices to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows risk matrices to be 'viewed or edited', while annotations declare readOnlyHint=true and this is a retrieve-only route. That is misleading about whether a write occurs. Beyond that conflict it adds nothing about what is returned or any auth/scope constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, so no verbosity problem, but it is boilerplate that is front-loaded with meaningless framing ('API endpoint that allows...') instead of the actual resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists and the description never explains what a 'colors' payload for a risk matrix looks like (e.g. a palette/code list used to render risk levels). For a zero-param read tool, the description carries the whole burden and falls well short.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no parameter semantics to explain; the schema is empty and fully described. Baseline of 4 for a zero-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the endpoint's provenance ('API endpoint that allows risk matrices to be viewed or edited') rather than stating what this specific operation returns. It never mentions 'colors', which is the distinct sub-resource in the tool name, so an agent cannot tell it apart from risk_matrices_impact_retrieve, risk_matrices_probability_retrieve, or risk_matrices_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus the many other risk-matrix sub-resource tools (impact, probability, risk, provider, ids, used). The agent must infer from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_createApi risk matrices createC
API endpoint that allows risk matrices to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the useful traits (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), so the description only needs to add context such as required permissions, what fields a risk matrix needs, or whether the matrix becomes immediately usable. It adds none of that; the phrase "viewed or edited" describes capabilities the endpoint doesn't even have, which is unhelpful though not a direct annotation contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short, front-loaded sentence with no filler, so nothing is wasted. However, its brevity comes from being generic rather than from being dense with useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint whose request body is entirely undocumented, with no output schema and no description of the response or creation semantics, the definition is under-specified. Combined with four annotations that only cover the safety profile, an agent lacks the information needed to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter (body), documented as an untyped anyOf object with additionalProperties=true and 0% schema description coverage. The description says nothing about what the request body must contain (name, scales, threshold definitions, etc.), so the agent has no way to construct a valid payload from either the schema or the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is boilerplate DRF text ("API endpoint that allows risk matrices to be viewed or edited") that never states the actual operation, create. It restates the resource and gestures vaguely at read/write, leaving the agent to infer the verb from the tool name alone. It also fails to distinguish it from close siblings such as risk_matrices_create_draft_create or risk_matrices_import_yaml_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. Given that the sibling set contains several create-like risk-matrix tools (create_draft_create, create_draft_from_create, import_yaml_create), the absence of routing guidance is a real gap. Nothing here tells an agent whether a plain create vs. a draft-based flow is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_create_draft_createApi risk matrices create draft createA
Create a new unpublished RiskMatrix with an editing_draft for the visual editor.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, non-destructive, non-idempotent, open-world create. The description usefully adds that the created matrix is unpublished and comes with an editing_draft, but it does not discuss permissions, side effects, or what happens to the draft afterward.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. Every clause contributes to identifying the operation and its resulting object state.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter create tool with annotations covering safety and mutability, the description gives enough context to understand the operation. It could be slightly richer by clarifying how this draft differs from an existing-matrix draft, but nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to explain beyond the baseline. The description correctly does not invent or misrepresent any inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb and resource: create a new RiskMatrix. It also specifies the resulting state, 'unpublished' with an 'editing_draft for the visual editor,' which separates it from the plain risk_matrices_create and from create_draft_from at a semantic level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for the visual editor' implies the intended context, but the description never explicitly says when to choose this over risk_matrices_create or risk_matrices_create_draft_from. Usage is inferable but not clearly routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_create_draft_from_createApi risk matrices create draft from createB
Clone an existing matrix into a new unpublished RiskMatrix with editing_draft.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare it is a non-read-only, non-destructive, non-idempotent, open-world operation. The description adds useful state information by saying the result is a new unpublished RiskMatrix in editing_draft, but it does not discuss permissions, side effects, or return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted text. It immediately states the action and the resulting state.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple one-parameter schema and annotations covering the safety profile, the description is minimally sufficient to understand the operation. However, it omits return-value context despite there being no output schema, and does not clarify the id parameter or usage relative to siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required id parameter with 0% schema description coverage, so the description needs to explain it. 'Clone an existing matrix' implies the parameter identifies the source matrix, but it never names id, its format, or confirms that the source is unchanged.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: clone an existing matrix into a new unpublished RiskMatrix. It is clear what the tool does, though it does not explicitly differentiate itself from sibling draft tools such as risk_matrices_create_draft_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a use case (cloning an existing matrix) but never states when to choose this over sibling draft-creation tools or what prerequisites are needed. No alternatives or exclusions are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_destroyApi risk matrices destroyDDestructiveIdempotent
API endpoint that allows risk matrices to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, but the description describes a view/edit endpoint and says nothing about permanent deletion, required permissions, or what happens to dependent objects (risk assessments, risk scenarios referencing the matrix). This actively misleads about the operation's consequence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so structurally it is fine, but the brevity comes at the cost of saying nothing useful about the actual operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, irreversible endpoint with no output schema and zero annotation-independent context in the description, the definition omits everything an agent needs: that the record is deleted, consequences for referencing objects, and confirmation behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required 'id' parameter has 0% schema description coverage, so the description must supply meaning; it adds nothing about what the id identifies or that it must reference an existing risk matrix. Only the trivial one-parameter shape keeps this above a 1.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is generic Django-REST boilerplate ('allows risk matrices to be viewed or edited') that never says this endpoint deletes a risk matrix, despite the tool name ending in _destroy. An agent reading only the description would conclude it is a read/write endpoint, not a deletion endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (e.g. matrix must not be in use), and no differentiation from the many sibling endpoints such as risk_matrices_retrieve, risk_matrices_update, or risk_matrices_discard_draft_create. The phrase 'viewed or edited' actually points toward the wrong siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_discard_draft_createApi risk matrices discard draft createC
Discard editing_draft without affecting json_definition.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, non-destructive, non-idempotent, open-world. The description adds genuinely useful context that the committed json_definition is untouched, but says nothing about what is deleted, whether it errors when no draft exists, or what happens to a locked editing session.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with the key scope constraint front-loaded and no filler. It is arguably too terse rather than too long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with no output schema and an undocumented identifier: the definition does not say which id to supply, whether the call is safe to retry, or what state the matrix ends in. The one clause about json_definition is not enough to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single required 'id' parameter, and the description never mentions it – not whether it is the risk matrix id, the draft id, or a revision id. For a low-coverage schema the description needs to compensate and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (discard) and object (editing_draft) plus the effect on a second field, which distinguishes it from publish/save draft siblings. However, 'editing_draft' and 'json_definition' are internal field names, so the reader must infer that a pending draft is thrown away and the published definition survives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this rather than ciso_assistant_api_risk_matrices_save_draft_partial_update or _publish_draft_create, and no stated precondition that an editing session must be in progress. The agent is left to infer the workflow position.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_export_yaml_retrieveApi risk matrices export yaml retrieveBRead-onlyIdempotent
Export a matrix as a library-compatible YAML file.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds meaningful context that the output is 'library-compatible' (i.e., re-importable), but says nothing about delivery mechanism (file download vs inline text), or what happens if the id is a draft or unknown.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no filler and no repetition of the title. It is appropriately sized for a simple read endpoint, though it leaves room that could have been spent on the id semantics rather than being maximally terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with rich annotations and no output schema, the description covers what the tool produces at a high level. However, it omits the identifier semantics and the shape of the return (download link vs YAML string), which are the two things an agent would still need to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'id' has 0% schema description coverage, so the description is the only place to clarify whether it is a matrix UUID, a ref_id, or a name. It provides none of that, leaving the caller to guess the identifier type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource plus a format qualifier: 'Export a matrix as a library-compatible YAML file.' An agent immediately knows this produces a YAML serialization, but the description does not differentiate it from near-neighbors such as risk_matrices_retrieve or risk_matrices_import_yaml_create (its inverse).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not guidance, and no mention of the complementary import_yaml_create sibling that would make the round-trip intent obvious. The use case is only inferable from the tool name and the phrase 'library-compatible'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_ids_retrieveApi risk matrices ids retrieveCRead-onlyIdempotent
API endpoint that allows risk matrices to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows risk matrices to be "edited", while annotations declare readOnlyHint=true and destructiveHint=false. This is the classic DRF boilerplate that misdescribes a read-only GET endpoint and gives the agent a false impression of write capability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, which is structurally clean. But "API endpoint that allows" is pure filler, and the sentence is too thin to be informative rather than merely short.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should convey what a risk matrix record looks like or what the identifier refers to; it conveys neither. It also omits the id path semantics implied by "ids" — though the empty input schema suggests the id is implicit in the invocation, which is never explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no parameter semantics to explain; the baseline of 4 applies. The description neither helps nor hurts here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint that allows risk matrices to be viewed or edited" largely restates the tool name and title, and the paired verbs "viewed or edited" blur what the call actually does. With siblings like risk_matrices_retrieve, risk_matrices_object_retrieve and risk_matrices_ids_retrieve in the same namespace, the agent gets no basis to tell this one apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No condition for use, no prerequisites, and no mention of alternatives, despite an extremely crowded risk_matrices_* family. An agent has to guess where this fits relative to list/retrieve/object_retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_impact_retrieveApi risk matrices impact retrieveCRead-onlyIdempotent
API endpoint that allows risk matrices to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows risk matrices to be "viewed or edited", while annotations declare readOnlyHint=true and destructiveHint=false. Claiming an edit capability on a read-only retrieve endpoint is an annotation contradiction; the description also adds nothing about what the impact payload contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, so it is structurally fine, but it is boilerplate that carries no front-loaded information specific to this operation. Brevity here comes from under-specification rather than disciplined writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameters, and a retrieve endpoint, the description is the only place to say what an "impact" object looks like or how it differs from probability/risk data. It says nothing beyond a generic view/edit claim, leaving the agent without enough to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema coverage is 100%, so there is nothing for the description to clarify. Baseline 4 applies for a parameterless call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence is generic DRF boilerplate that restates the resource ("risk matrices") without naming the specific operation this endpoint performs. The tool name says "impact_retrieve", yet the description never mentions impact levels or that this returns a taxonomy/choice list, so it cannot be distinguished from siblings like risk_matrices_retrieve, risk_matrices_probability_retrieve, or risk_matrices_colors_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives, despite hundreds of sibling tools including several near-identical risk-matrix retrievals (probability, colors, risk, ids). The agent must guess from the tool name alone which one yields impact values.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_import_yaml_createApi risk matrices import yaml createA
Import a library YAML file and create a new draft matrix from it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false, so safety and repeatability are covered. The description adds one useful behavioral fact beyond that: the result is a draft matrix rather than a published one. It omits what happens on duplicate import, whether validation errors abort creation, and whether permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the outcome (new draft matrix) and the input (YAML library file) both land immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating, open-world create endpoint with no output schema and no parameters, the definition should at least clarify the payload transport and what the returned draft looks like. It covers the outcome state (draft) but leaves the mechanics of the YAML import underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters with additionalProperties=false, so the description carries the burden of explaining the actual input. It names the artifact type ('library YAML file') but never says how the YAML is supplied (request body/upload) — a real gap for an empty-schema endpoint. Slightly below the zero-parameter baseline because the payload mechanism stays unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair (import + create) and the resource (a new draft risk matrix) plus the source artifact type (library YAML file). This distinguishes it reasonably from siblings like create_draft_from (draft from an existing matrix) or create_draft_create, though it never explicitly names those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is only implied by the phrase 'Import a library YAML file' — an agent can infer this is for bootstrapping a matrix from an external YAML definition. There is no explicit when-not guidance and no mention of the related draft workflow (publish_draft, discard_draft, save_draft) or the alternative create_draft_from.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_listApi risk matrices listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| provider | No | ||
| max_pages | No | ||
| is_enabled | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds only an internal serializer-context implementation detail and says nothing useful about pagination, filtering behavior, or return characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence, but it is under-specified rather than usefully concise. The sentence describes an internal method override instead of front-loading actionable list behavior or filtering semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter list tool with no output schema and no parameter descriptions, the description is completely inadequate. It gives the agent no information needed to invoke the tool correctly beyond the annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 9 parameters, and the description provides no meaning for id, limit, offset, search, ordering, folder, provider, max_pages, or is_enabled. With no schema descriptions and no compensating explanation, the parameters are effectively undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does for an agent. It does not explicitly say it lists risk matrices, leaving the agent to infer the resource from the tool name and title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this list endpoint versus the many sibling list/retrieve tools. It provides no exclusions, prerequisites, or alternative selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_object_retrieveApi risk matrices object retrieveDRead-onlyIdempotent
API endpoint that allows risk matrices to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, but the description says the endpoint allows risk matrices to be "edited" – a write capability that contradicts the read-only annotation. Nothing is added about what the lookup returns, error behavior for unknown ids, or object scoping.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no wasted clauses, so nothing needs trimming. However, brevity here comes from under-specification rather than density – the one sentence carries almost no actionable content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an object-retrieval tool with one undocumented required parameter and no output schema, the description should at minimum pin down what the id refers to and that a single record is returned. Neither appears, so an agent must guess from the tool name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
A single required "id" parameter with 0% schema description coverage, so the description is the only place meaning could be added – yet it says nothing about what the id identifies (UUID? integer? slug?) or which namespace it resolves in. The description contributes no semantic value beyond the schema's key name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ("risk matrices") but pairs it with the ambiguous verb phrase "viewed or edited", which describes two opposing operations rather than what this specific endpoint does. It never states that this retrieves a single risk matrix by id, so it cannot be distinguished from the sibling risk_matrices_list, risk_matrices_retrieve, or risk_matrices_update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no mention of alternatives despite numerous sibling endpoints on the same resource. The only signal an agent could extract ("viewed or edited") is actively misleading about which sibling to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_partial_updateApi risk matrices partial updateD
API endpoint that allows risk matrices to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false. The description adds no behavioral context beyond generic boilerplate and does not explain partial-update semantics, payload handling, or what happens to unspecified fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not bloated. However, the brevity reflects under-specification rather than a front-loaded, information-rich statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a partial-update mutation with two parameters, no output schema, and zero schema description coverage, the description is completely inadequate. It omits the partial-update contract, body expectations, and any permission or error context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description never mentions the required id or the optional body payload. Both parameters are left entirely undocumented in the description, forcing the agent to infer their meaning from the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only says the endpoint allows risk matrices to be 'viewed or edited,' which is generic viewset boilerplate. It does not specify that this tool performs a partial update (PATCH) or distinguish it from sibling retrieve, list, and update endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to choose this partial update over the sibling retrieve, list, update, or create_draft tools. Saying the endpoint allows risk matrices to be 'viewed' is misleading for a mutation tool and could cause an agent to select it for a read operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_probability_retrieveApi risk matrices probability retrieveCRead-onlyIdempotent
API endpoint that allows risk matrices to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows risk matrices 'to be viewed or edited', but annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false. The 'edited' claim directly contradicts the declared read-only behavior, and no other behavioral context (e.g., that this returns the probability scale used by a matrix) is supplied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence is appropriately sized, but it is entirely filler boilerplate that conveys no tool-specific information. Brevity here reflects under-specification rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only source of behavioral information, yet it says nothing about what a 'probability' resource contains (levels, labels, ordering) or how it relates to a matrix instance. For an endpoint in a dense risk-matrix family, this leaves the agent unable to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema has additionalProperties=false, so there is nothing for the description to disambiguate. Baseline 4 applies for a parameterless endpoint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST boilerplate that restates the title rather than the resource: it says 'risk matrices to be viewed or edited' without ever mentioning 'probability', which is the only thing distinguishing this endpoint from dozens of sibling risk-matrix tools. An agent cannot tell from this text what the endpoint returns (a probability scale/levels) or why it exists separately from risk_matrices_impact_retrieve or risk_matrices_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this endpoint versus the many siblings (risk_matrices_retrieve, risk_matrices_impact_retrieve, risk_matrices_risk_retrieve, risk_matrices_colors_retrieve). The phrase 'viewed or edited' actively misdirects rather than scoping usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_provider_retrieveApi risk matrices provider retrieveCRead-onlyIdempotent
API endpoint that allows risk matrices to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, but the description says risk matrices can be 'viewed or edited,' implying write capability. This directly contradicts the structured safety metadata and gives the agent a misleading 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no wasted clauses. However, the sentence is boilerplate and creates ambiguity rather than useful precision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and no output schema, the description should at least explain what a 'provider' retrieval returns and how it differs from other risk-matrix endpoints. Instead it gives only a generic view/edit statement that is both ambiguous and inconsistent with the read-only annotation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter semantics burden on the description. The baseline for a parameterless tool applies, and no incorrect parameter information is present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only says the endpoint allows risk matrices to be 'viewed or edited,' which is generic and does not clarify whether this is a list, single-object retrieval, provider metadata lookup, or mutation. It does not distinguish itself from the many risk-matrices siblings such as list, retrieve, object_retrieve, or update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus risk_matrices_list, risk_matrices_retrieve, risk_matrices_object_retrieve, or other risk-matrix operations. The phrase 'viewed or edited' does not route the agent to the right alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_publish_draft_createApi risk matrices publish draft createB
Publish editing_draft → json_definition, snapshot history, bump version.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false and idempotentHint=false, and the description adds real behavior beyond that: it snapshots history and bumps the version on publish, which explains why the call is non-idempotent and clarifies side effects not captured by annotations. It stops short of stating permissions or whether the draft is discarded afterward, keeping it at a 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with zero filler, and the core effect is front-loaded. The arrow/abbreviation shorthand trades some readability for brevity, so it is not quite a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, it discloses the main side effects (snapshot, version bump) but omits the preconditions (editing draft must exist) and what the published artifact looks like. Adequate but with clear gaps an agent must guess around.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the sole required parameter 'id' is never mentioned in the description; it does not clarify that the id identifies the risk matrix draft to publish, or any format/constraint. With one undocumented parameter carrying no compensating prose, this falls below the 0-param baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (publish) and resource (editing_draft) with the transformation spelled out via arrow notation ('editing_draft → json_definition, snapshot history, bump version'). It is distinguishable from sibling operations like save_draft, discard_draft, or start_editing, though it never names those alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this vs. save_draft, discard_draft, or preview-style siblings, and no prerequisites (e.g., the matrix must already be in an editing draft via start_editing). The usage context is only inferable from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_retrieveApi risk matrices retrieveBRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 useful behavioral context by disclosing that unauthorized related fields are masked in the returned object. It does not explain what those fields are or what authorization is required, but it does contribute meaningful 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short sentence with no wasted words and is front-loaded. Its brevity contributes to conciseness, though it also contributes to the completeness gap noted elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should carry more of the return-value burden. It does disclose masking of unauthorized related fields, which helps, but it omits the resource name, the meaning of the id parameter, and the shape of the returned risk matrix. For a single-object retrieval endpoint, this is only minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the single required 'id' parameter is undocumented in both the schema and the description. The description does not explain that the id identifies a risk matrix, nor does it add any semantics for the lookup key. With low schema coverage, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a generic retrieval behavior ('Return a single object') but never names the resource being retrieved. The risk-matrix identity comes only from the tool name/title, not from the description text. It is not a tautology, but it lacks the specific verb+resource clarity expected for a 4 or 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this retrieve endpoint versus alternatives such as risk_matrices_list, risk_matrices_object_retrieve, or other retrieval variants. It contains only a return-behavior statement, with no usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_risk_retrieveApi risk matrices risk retrieveCRead-onlyIdempotent
API endpoint that allows risk matrices to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, but the description says matrices can be 'viewed or edited.' That implies a write/update capability the endpoint does not have, creating a contradiction rather than adding useful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted clauses, but it is boilerplate and front-loads an ambiguous action rather than the useful distinction an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no explanation of what the retrieve call returns. Given the crowded risk-matrix sibling set, the description does not provide enough context to identify the endpoint's role or response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics to explain. The schema is empty and additionalProperties is false; the baseline for this situation is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('risk matrices') but the action is vague: 'viewed or edited' does not identify this specifically as a retrieve operation. It does not distinguish this tool from the many sibling risk-matrix tools such as risk_matrices_retrieve, risk_matrices_list, or risk_matrices_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the other risk-matrix endpoints. An agent gets no signal about whether this is for fetching a single matrix, listing matrices, or something else.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_save_draft_partial_updateApi risk matrices save draft partial updateC
Update editing_draft with current WIP. Metadata stays draft-scoped until publish.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose that this is a non-readonly, non-idempotent, non-destructive write. The description adds useful context that metadata remains draft-scoped until publish, which is behavior beyond the annotations, but it does not explain what happens to existing draft data or whether prior draft state is overwritten.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with the core action front-loaded and no wasted text. The compactness is appropriate for a simple partial-update endpoint, though the jargon slightly reduces readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter draft-save operation with annotations covering safety traits, the description provides the key draft-scoping fact. However, it omits prerequisites such as whether editing must already be started, what 'WIP' covers, and how this relates to publish/discard operations, so meaningful gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required 'id' parameter, and schema description coverage is 0%, so the schema provides only the type. The description does not explain what the id refers to, whether it is a risk matrix draft id, or how it relates to the editing draft, leaving the sole parameter semantically under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it updates an 'editing_draft' with current work-in-progress, which implies a draft-saving action, but it never names the risk matrix resource explicitly. It is more concrete than a tautology but relies on internal jargon and does not clearly distinguish this from publish/discard/start-editing siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'until publish' hints at the draft workflow, but there is no explicit guidance on when to use this instead of publish_draft, discard_draft, or start_editing. An agent must infer the intended workflow from sibling names and the vague draft-scoped note.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_start_editing_createApi risk matrices start editing createB
Copy json_definition into editing_draft to begin editing.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true) already convey a non-destructive, non-idempotent write, and the description adds the important detail that the write consists of copying json_definition into an editing_draft. It does not disclose what happens if a draft already exists (overwrite, error, or merge), whether the source matrix must be published, or what permissions/state are required, which are the real behavioral risks here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded sentence with no filler. It is appropriately terse for a one-parameter operation, though the terseness is partly under-specification rather than pure efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and only default-level annotations, so the description must carry preconditions and outcomes. It explains the copy mechanism but omits what the input id refers to, what state the matrix must be in, what happens to an existing draft, and what the call returns — significant gaps for a mutation entry point in a multi-step draft workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required parameter 'id', and the description never explains what that id identifies (presumably the risk matrix whose definition gets copied). It mentions json_definition and editing_draft, which are not parameters at all, so the description does not compensate for the undocumented input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete operation: copying json_definition into editing_draft to start an editing session, which is a specific mechanical action rather than a restatement of the name. It never names the resource (risk matrices), so the agent must rely on the tool name and title to know what object is being edited, but the verb+operation is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'To begin editing' implies this is the entry point of a draft-editing workflow, which is useful implied usage. However, there is no comparison against closely related siblings such as risk_matrices_create_draft_create, create_draft_from, discard_draft_create, or save_draft_partial_update, so the agent cannot infer when this is the correct first step versus building a draft from scratch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_updateApi risk matrices updateCIdempotent
API endpoint that allows risk matrices to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that — no mention of whether omitted fields are reset (full replace semantics), permission requirements, or what a successful response looks like. The "viewed or edited" phrasing is muddy but not a strict contradiction of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, so there is no bloat, but its brevity comes from being generic rather than from being dense. It front-loads boilerplate ("API endpoint that allows...") rather than the actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with zero parameter documentation, no output schema, and a very large sibling set of near-identical risk-matrix operations, the description is far too thin. An agent cannot determine the expected body structure or how this differs from partial update based on what is written.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across both parameters: `id` is undocumented and `body` is a free-form object with additionalProperties allowed and no field hints. The description does not compensate at all — it never mentions that `body` carries the risk matrix payload or what fields it accepts, leaving the agent to guess the entire request shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name in boilerplate form ("API endpoint that allows risk matrices to be viewed or edited") without clarifying that this is the full-update operation as opposed to retrieval or partial update. Saying the endpoint is for both "viewed" and "edited" actively blurs the distinction from the many sibling risk_matrices tools (retrieve, partial_update, list).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus ciso_assistant_api_risk_matrices_partial_update, risk_matrices_retrieve, or risk_matrices_save_draft_partial_update. The only implied usage is that you supply an id and edit a matrix, which the name already conveys. No prerequisites, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_matrices_used_retrieveApi risk matrices used retrieveCRead-onlyIdempotent
API endpoint that allows risk matrices to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, so the safe-read profile is already covered by structured data; the description adds nothing about auth needs, scoping, or return shape. Worse, the phrase 'viewed or edited' implies write capability that the readOnlyHint annotation denies, which is misleading for an endpoint whose name ends in _retrieve.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, so it is not bloated, but it is front-loaded with generic DRF boilerplate ('API endpoint that allows...') rather than the information an agent needs. Brevity here comes from under-specification, not discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no parameters, so the description carries the full burden of explaining what this call returns, yet it says nothing about which risk matrices are 'used' or what the response contains. For a read tool embedded among hundreds of similar endpoints, that leaves the agent unable to judge relevance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (schema coverage 100%), so there is nothing for the description to disambiguate. Baseline 4 applies for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the resource (risk matrices) with the boilerplate verb phrase 'viewed or edited', but never explains the operative qualifier 'used' in the tool name — i.e. what 'used' means (matrices referenced by assessments/scenarios?) and how the result differs from ciso_assistant_api_risk_matrices_retrieve or ciso_assistant_api_risk_matrices_list. An agent cannot distinguish this tool from its many risk-matrices siblings from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no exclusions. With siblings such as risk_matrices_list, risk_matrices_retrieve, risk_matrices_object_retrieve, and risk_matrices_used_retrieve all present, the description gives no signal about which one answers a given question.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_scenarios_batch_action_createApi risk scenarios batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is partly covered. The description adds nothing beyond that: it does not say what actions are supported, whether partial failures roll back, whether it requires elevated permissions, or what the effect on the targeted scenarios is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence contains no padding, but it is under-specified rather than concise. There is nothing to front-load because no actionable content exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an open-world, non-idempotent batch mutation with no output schema and an empty input schema, the description supplies none of the context an agent needs: what the action set is, what a successful response contains, or what happens on partial failure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters (additionalProperties: false), so by baseline this scores high. However, an empty schema combined with a batch-mutation description is confusing: the description never explains how objects and the action itself are identified, leaving the agent unable to reconcile the description with a parameterless call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Perform a batch action on multiple objects' restates the name and title without naming the resource (risk scenarios) or the operations involved. An agent cannot tell from this sentence what a 'batch action' means here or which object type is affected, and it is indistinguishable from the dozens of sibling *_batch_action_create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this instead of the sibling ciso_assistant_api_risk_scenarios_create, _update, or _partial_update tools, nor on what conditions require batching. Nothing tells the agent when this tool is inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_scenarios_cascade_info_retrieveApi risk scenarios cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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), so the bar is lower, but the description adds almost nothing. "Cascade preview" faintly implies it returns what would be affected by a cascading delete, but the response shape, whether it summarizes related objects, and typical size are all undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but short because it is under-specified rather than because it is efficient; the trailing colon also reads as a truncated template. There is no front-loaded statement of what the tool does or returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameter documentation, and a description of two words, an agent cannot determine what this tool returns or when to prefer it over sibling retrieval tools. Nothing about the call is recoverable from the definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter `id` has 0% schema description coverage and the description says nothing about it — not what entity it identifies (a risk scenario? a study?), nor its format. The description does not compensate for the schema gap at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a two-word fragment, "Cascade preview:", that never names a verb, resource, or object. Only the tool name hints that it retrieves cascade-impact information for a risk scenario, and the trailing colon suggests truncated/auto-generated text rather than a stated purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this versus the many sibling retrieval and cascade_info tools (e.g. risk_scenarios_object_retrieve, risk_scenarios_retrieve, risk_scenarios_destroy). No preconditions 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.
ciso_assistant_api_risk_scenarios_count_per_level_retrieveApi risk scenarios count per level retrieveCRead-onlyIdempotent
API endpoint that allows risk scenarios to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows risk scenarios to be "edited", while the annotations declare readOnlyHint=true and destructiveHint=false. This is a direct contradiction of the declared safety profile. It also adds nothing about the aggregation behavior (what is counted, over what scope, whether results are tenant-wide).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, but the brevity comes from being content-free boilerplate rather than from disciplined writing. It is front-loaded only in the sense that there is nothing after it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and no output schema, the description is the only source of information about what this endpoint returns (a per-level count of risk scenarios). It provides none of that, leaving the agent unable to predict the response shape or interpret the levels.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is an empty object with additionalProperties=false, so there is nothing for the description to clarify. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is generic Django-REST-Framework boilerplate ("allows risk scenarios to be viewed or edited") that never states the actual operation implied by the name: counting risk scenarios by level. It names the resource but not the verb or output, so an agent cannot distinguish it from siblings such as risk_scenarios_qualifications_count_retrieve or risk_scenarios_per_status_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus the many sibling risk_scenarios_* aggregation endpoints (per_status, qualifications_count, probability, impact). The agent is left to infer selection purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_scenarios_createApi risk scenarios createD
API endpoint that allows risk scenarios to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, so the safety profile is covered structurally; the description adds nothing about what a create does, what the payload must contain, or side effects. The 'viewed or edited' phrasing also leans toward read semantics, which is inconsistent with a create endpoint's non-idempotent write behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single, front-loaded sentence with no filler, which is structurally fine. The problem is that the content is boilerplate that conveys no usable information rather than being over-long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A write endpoint with an unspecified request body, no output schema, and a large family of near-identical siblings leaves the agent with no way to construct a valid call. The description covers none of what is needed: payload shape, required fields, or relationship to sibling CRUD endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter is an untyped body (anyOf object/null) with 0% schema description coverage, and the description supplies no information about its contents. Nothing tells the agent what fields a risk scenario payload requires, so the parameter is entirely opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('risk scenarios') but the verb is a generic DRF boilerplate phrase ('viewed or edited') that does not match the actual operation, which is creation. It also fails to distinguish this tool from the many sibling endpoints (risk_scenarios_update, partial_update, list, retrieve), so an agent cannot tell what this call actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus ciso_assistant_api_risk_scenarios_update, _partial_update, or _list. Worse, saying it 'allows risk scenarios to be viewed' suggests read usage, which misroutes an agent looking to create a record.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_scenarios_default_ref_id_retrieveApi risk scenarios default ref id retrieveDRead-onlyIdempotent
API endpoint that allows risk scenarios to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says risk scenarios can be 'edited', but annotations declare readOnlyHint=true and destructiveHint=false. This is boilerplate inherited from the API root and actively misdescribes a read-only retrieve endpoint, while adding nothing about what a 'default ref id' response entails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, but it is generic template text that conveys no tool-specific information — brevity at the cost of usefulness rather than in service of it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param read endpoint with no output schema, the description should at least explain what the default reference ID is and what shape the response takes. It provides none of that, leaving the agent unable to predict the return.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; there is nothing for the description to document in this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate ('allows risk scenarios to be viewed or edited') that does not mention the actual resource of the endpoint — the default reference ID for risk scenarios — which appears only in the tool name. It doesn't distinguish this tool from the ~30 other risk_scenarios sibling endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this endpoint versus risk_scenarios_retrieve, risk_scenarios_list, or risk_scenarios_object_retrieve. An agent has nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_scenarios_destroyApi risk scenarios destroyCDestructiveIdempotent
API endpoint that allows risk scenarios to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing and, worse, frames the endpoint as view/edit, omitting that the record is permanently removed and whether related objects cascade.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, but it is generic DRF viewset boilerplate that conveys no tool-specific value, so its brevity buys little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive single-record operation with no output schema, the definition should state permanence, cascade effects, and required permissions. None of that is present, and the view/edit framing actively obscures the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single required `id` parameter is undocumented in both schema and description. The description never mentions that it takes an id or what that id identifies, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint that allows risk scenarios to be viewed or edited" names the resource but not the actual operation: this tool destroys a risk scenario. The verbs it does state (view/edit) belong to sibling retrieve/update tools, so an agent must infer the delete behavior from 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this instead of ciso_assistant_api_risk_scenarios_update, ciso_assistant_api_risk_scenarios_partial_update, or the other destroy siblings. Nothing states preconditions, confirmation requirements, or consequences.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_scenarios_export_csv_retrieveApi risk scenarios export csv retrieveCRead-onlyIdempotent
API endpoint that allows risk scenarios to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 elsewhere. The description adds nothing beyond that and its phrase 'viewed or edited' misleadingly implies a write capability the read-only export endpoint does not have; it also omits anything about output format, file size, or streaming behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no waste, but that brevity comes from being boilerplate rather than from being economical. The one thing an agent needs, the CSV export action, is missing entirely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameters, and generic annotations, the description carries the full burden of saying what comes back, and it says nothing about CSV contents, columns, or scope. For a data-export tool in a large sibling family, this leaves an agent unable to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and schema coverage is 100%, so there is no parameter semantics for the description to add. Baseline of 4 applies; the only missed opportunity is noting that the export covers all risk scenarios rather than a filtered subset.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic boilerplate: 'allows risk scenarios to be viewed or edited' names the resource but never states the actual operation, which per the tool name is a CSV export. An agent reading only the description cannot tell this apart from retrieve, list, or update siblings on risk scenarios.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many siblings (e.g. ciso_assistant_api_risk_scenarios_export_xlsx_retrieve, _retrieve, _list). No mention of what the export covers, whether it respects filters, or when a CSV is preferable to XLSX.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_scenarios_export_xlsx_retrieveApi risk scenarios export xlsx retrieveCRead-onlyIdempotent
API endpoint that allows risk scenarios to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, but the description says the endpoint 'views or edits' risk scenarios, implying mutation that the annotations deny. It also fails to disclose the one behavior that matters here: that the call returns a binary XLSX payload rather than JSON data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, but its brevity comes from being boilerplate rather than from being information-dense; the one clause it does contain is the misleading one.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameters, and only hints to convey behavior, the description leaves out everything an agent needs: response format (XLSX file), whether filters apply, and whether the export is scoped or full. It is not adequate for a download-style endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. No parameter-related misinformation is introduced.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint 'allows risk scenarios to be viewed or edited', which is generic CRUD boilerplate that never mentions the XLSX export behavior implied by the tool name. It does name the resource ('risk scenarios') but the stated action is vague and does not match what an export/download endpoint does, so an agent cannot tell it apart from the ~20 other risk_scenarios_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives such as ciso_assistant_api_risk_scenarios_list or ciso_assistant_api_risk_scenarios_export_csv_retrieve. The agent must infer from the tool name alone that this produces a spreadsheet export.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_scenarios_impact_retrieveApi risk scenarios impact retrieveDRead-onlyIdempotent
API endpoint that allows risk scenarios to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint 'allows risk scenarios to be viewed or edited', implying write capability, while annotations declare readOnlyHint=true and destructiveHint=false. It adds no useful behavioral context such as what the impact payload contains or its relationship to the parent scenario.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, so it is concise, but it is boilerplate that conveys no operative information — brevity here reflects under-specification rather than economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no param documentation, and a generic description leave the agent unable to tell what is returned or how this differs from the dozen sibling risk scenario retrievers.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% with a single required 'id' parameter and no description of what the id identifies (scenario id? impact record id?). The description does nothing to close that gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text restates the name in generic DRF boilerplate terms ('API endpoint that allows risk scenarios to be viewed or edited') and never mentions the actual resource being fetched — the risk scenario's impact. It is indistinguishable from the many sibling risk_scenarios_* retrieve tools (risk_scenarios_retrieve, risk_scenarios_object_retrieve, risk_scenarios_probability_retrieve).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this instead of ciso_assistant_api_risk_scenarios_retrieve or the other impact/probability/strength_of_knowledge endpoints. No prerequisites, no context, only a bare capability statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_scenarios_listApi risk scenarios listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| limit | No | ||
| owner | No | ||
| assets | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| exclude | No | ||
| threats | No | ||
| ordering | No | ||
| incidents | No | ||
| max_pages | No | ||
| perimeter | No | ||
| treatment | No | ||
| current_level | No | ||
| current_proba | No | ||
| current_impact | No | ||
| qualifications | No | ||
| residual_level | No | ||
| residual_proba | No | ||
| residual_impact | No | ||
| risk_assessment | No | ||
| vulnerabilities | No | ||
| applied_controls | No | ||
| filtering_labels | No | ||
| within_tolerance | No | ||
| security_exceptions | No | ||
| existing_applied_controls | No |
TDQS
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 elsewhere. The description adds nothing behavioral — its only content is an internal serializer detail that gives an agent no understanding of filtering, pagination, or result shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is wasted on an implementation note rather than front-loading purpose or scope. Brevity here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 29-parameter, filter-heavy list endpoint with no output schema and no parameter docs, the description is completely inadequate. An agent cannot determine how to paginate, filter, or order results from this text.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 29 parameters with 0% schema description coverage, so the description must carry the semantic burden. It documents none of them (limit, offset, search, max_pages, ordering, owner, folder, perimeter, treatment, within_tolerance, etc.), leaving an agent to guess filter syntax and value formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Override the list method to inject optimized data into the serializer context' is a developer implementation note (a Django view override), not a statement of what the tool does for a caller. It never says this lists risk scenarios or what is returned; only the name hints at it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives among the many risk_scenarios siblings (retrieve, per_status_retrieve, export_csv_retrieve, count_per_level_retrieve), and no prerequisites. The single sentence describes internal code behavior, not invocation context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_scenarios_object_retrieveApi risk scenarios object retrieveDRead-onlyIdempotent
API endpoint that allows risk scenarios to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, yet the description claims the endpoint allows scenarios to be 'edited'. That directly contradicts the declared safety profile and gives the agent no trustworthy statement of what the call actually does.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so it is appropriately sized, but the one sentence it spends is spent on a misleading claim rather than useful specificity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no descriptions on the single parameter, and a large set of confusable siblings, the description should carry the burden of explaining lookup semantics and return shape. It provides none of that and instead misstates the operation as editable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the sole parameter 'id' is undocumented in both schema and description. The description adds nothing about the identifier format, whether it is a UUID or ref id, or what a lookup miss does, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint lets risk scenarios be 'viewed or edited', which muddles a single-resource retrieve operation rather than stating a specific verb+resource. It never distinguishes this tool from siblings such as risk_scenarios_retrieve, risk_scenarios_object_retrieve, or risk_scenarios_update, so an agent cannot tell which one fetches one scenario by id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the near-identical sibling retrieve/object_retrieve/list endpoints. The only usage signal is the vague 'viewed or edited', which points in the wrong direction for a read tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_scenarios_partial_updateApi risk scenarios partial updateC
API endpoint that allows risk scenarios to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing on top: it does not explain that this is a merge-style partial update (unspecified fields left untouched), whether referenced related objects are overwritten, or what permissions are required — context that matters for a PATCH tool with idempotentHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, but it is boilerplate filler rather than front-loaded, useful information; brevity here comes from under-specification rather than from efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with 0% schema coverage, no output schema, and a free-form body parameter, yet the description says nothing about partial-update semantics, the payload, or the response. For a write operation on a complex risk-scenario entity, the definition is far too thin to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description contributes nothing: it never mentions the required 'id' path parameter nor what belongs in the opaque 'body' object (an anyOf free-form object). With no field list for the risk-scenario payload, an agent cannot construct a valid call from this definition alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a generic boilerplate line, 'API endpoint that allows risk scenarios to be viewed or edited,' which mixes read and write verbs and never states that this tool performs a partial (PATCH-style) modification of an existing risk scenario. It names the resource but does not distinguish itself from the sibling full-update tool ciso_assistant_api_risk_scenarios_update or from the retrieve tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Viewed or edited' gives no condition for choosing this tool over risk_scenarios_update, risk_scenarios_partial_update's retrieve counterparts, or the create endpoint. There is no mention of prerequisites such as needing an existing scenario id or of what happens when a field is omitted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_scenarios_per_status_retrieveApi risk scenarios per status retrieveCRead-onlyIdempotent
API endpoint that allows risk scenarios to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and idempotentHint=true, yet the description claims the endpoint allows risk scenarios to be 'edited', implying write capability that contradicts the annotation. It also fails to disclose that this is a status-aggregated view rather than a plain object read, and says nothing about return shape or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no bloat, but the sentence is generic filler that conveys almost nothing. Brevity is fine; the content is the problem.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of explaining what a 'per status' risk scenario result looks like, and it does not do so. With zero parameters the burden is low, but the missing status-aggregation semantics leave a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; the description neither helps nor hurts parameter understanding. It could, however, have noted what status dimension the aggregation is keyed on.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the resource name with boilerplate ('API endpoint that allows risk scenarios to be viewed or edited') and never explains the 'per_status' qualifier that distinguishes this tool from siblings like risk_scenarios_retrieve, risk_scenarios_list, or risk_scenarios_count_per_level. An agent cannot tell what this specific endpoint returns versus the many other risk_scenario retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this instead of the numerous sibling risk_scenario endpoints. No mention of required status grouping context, no exclusions, no alternatives — the agent is left to guess entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_scenarios_probability_retrieveApi risk scenarios probability retrieveDRead-onlyIdempotent
API endpoint that allows risk scenarios to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows risk scenarios to be 'viewed or edited', implying mutation, while the annotations declare readOnlyHint=true and destructiveHint=false. This is a direct contradiction, and the description adds no other behavioral context (what the probability resource contains, auth needs, etc.).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but that brevity is under-specification rather than economy: the one sentence is generic framework boilerplate that conveys nothing useful to an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only retrieve with one path parameter and no output schema, the description should at minimum say what is returned (probability scale/labels for a risk scenario). It provides nothing, leaving the agent unable to predict the response shape or confirm the resource.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions the required 'id' parameter or what entity it identifies (a risk scenario, a probability level, a matrix?). With a single undocumented parameter, the description should have clarified its meaning but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the name/title in generic DRF boilerplate ('API endpoint that allows risk scenarios to be viewed or edited') without explaining what the 'probability' sub-resource actually is. It fails to distinguish this tool from siblings such as risk_scenarios_retrieve, risk_scenarios_impact_retrieve, or risk_matrices_probability_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this endpoint versus the many sibling risk_scenarios retrieve/impact/treatment endpoints, and no prerequisites or exclusions are given. The boilerplate sentence provides zero routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_scenarios_qualifications_count_retrieveApi risk scenarios qualifications count retrieveCRead-onlyIdempotent
API endpoint that allows risk scenarios to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the resource 'can be viewed or edited' while annotations declare readOnlyHint=true and destructiveHint=false. That is a direct contradiction about whether this endpoint mutates state, and it adds nothing else (no mention of counts, aggregation scope, or empty result behavior).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is technically concise. But brevity here comes from being generic boilerplate rather than from front-loading useful information, and the one clause it contains is misleading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations covering the return payload, the description is the only place an agent could learn that this returns a qualification count rather than a list or object — and it says nothing of the sort. Completely inadequate for the tool's actual purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is no parameter semantics for the description to explain; the baseline of 4 applies. The description neither helps nor harms in that dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is stock Django REST Framework boilerplate ('allows risk scenarios to be viewed or edited') and never mentions what this endpoint actually is: a count of risk scenario qualifications. It names the resource but not the specific operation, so an agent has to fall back entirely on the title/name to guess the tool returns a count.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusion of alternatives, and no hint that this is a read-only aggregation rather than a detail fetch. The many siblings (risk_scenarios_list, count_per_level_retrieve, etc.) are never referenced, so selection between them is left entirely to name guessing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_scenarios_retrieveApi risk scenarios retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 does add one genuinely useful behavioral fact beyond that: related fields unauthorized for the caller are masked in the response, which affects how the agent should interpret results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, but it is not front-loaded on purpose — the leading clause describes response shape rather than what the tool does, so the reader must reach the name for the actual operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameter documentation, the description should tell the agent what a risk scenario object contains and how the required id is supplied. It only mentions masking, leaving both the input contract and the return contents essentially unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should explain the single required `id` parameter, but it never mentions it. "Return a single object" only weakly implies lookup by identifier; the format of the id is undocumented everywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only states the shape of the response ("Return a single object") and never names the resource or the verb — the fact that this retrieves a risk scenario by id is inferable only from the tool name. Given siblings like risk_scenarios_object_retrieve and risk_scenarios_list, a reader gets no help distinguishing this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the id being required, and no reference to the very similar sibling endpoints (list, object_retrieve, cascade_info_retrieve). The agent must guess from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_scenarios_strength_of_knowledge_retrieveApi risk scenarios strength of knowledge retrieveCRead-onlyIdempotent
API endpoint that allows risk scenarios to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 covered, but the description's 'viewed or edited' wording blurs a read-only endpoint into a write-capable one. Beyond that boilerplate it adds nothing about what 'strength of knowledge' represents or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short sentence with no wasted verbiage, but its brevity stems from being generic rather than from being well-targeted. It is front-loaded only in the trivial sense that there is nothing else.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a completely undocumented parameter, the description needed to explain what the endpoint returns and how to identify the target record. Instead it only claims the endpoint 'allows risk scenarios to be viewed or edited', leaving the agent without enough to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'id' parameter has 0% schema description coverage, so the description carries the full burden and does not compensate at all — it does not say what kind of id is expected (scenario UUID vs. strength-of-knowledge record id) or what it resolves to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate ('API endpoint that allows risk scenarios to be viewed or edited') that never mentions 'strength of knowledge', which is the actual sub-resource in the tool name. An agent cannot tell from this text what the tool returns or how it differs from siblings such as ciso_assistant_api_risk_scenarios_retrieve or risk_scenarios_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus the many related risk-scenario retrieval tools (retrieve, object_retrieve, list, cascade_info_retrieve). The only hint of context is the required 'id' parameter, which the agent must infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_scenarios_sync_to_actions_createApi risk scenarios sync to actions createD
API endpoint that allows risk scenarios to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true; the description adds nothing to that profile. It does not say what 'sync to actions' creates (action plan/task items), whether it duplicates existing actions, or what authorization or state the target risk scenario must be in.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence, but that brevity reflects under-specification rather than economy: the sentence is boilerplate that carries no operation-specific information an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating, open-world endpoint with no output schema and an undocumented required identifier, the description omits essentially everything an agent needs: the actual effect, the meaning of the id, and the resulting state. It is inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'id' has 0% schema description coverage, and the description provides no clue whether it is a risk scenario id, action id, or another identifier. With no parameter documentation anywhere, the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST boilerplate ('API endpoint that allows risk scenarios to be viewed or edited') that restates the resource but never states the operation implied by the tool name (syncing risk scenarios to actions). An agent cannot distinguish this from create/update/retrieve siblings on risk_scenarios.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to use this endpoint versus the many sibling risk_scenarios tools (list, create, update, partial_update, batch_action, or the compliance_assessments/risk_assessments sync_to_actions variants). Nothing indicates prerequisites or side effects.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_scenarios_treatment_retrieveApi risk scenarios treatment retrieveCRead-onlyIdempotent
API endpoint that allows risk scenarios to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows risk scenarios to be "edited," which conflicts with the annotation readOnlyHint=true — this is a partial annotation contradiction. Otherwise it adds nothing beyond the annotations: no detail on permissions, scoping, or whether treatment data is nested under the scenario.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no wasted clauses, but it is concise at the cost of substance — the brevity comes from under-specification rather than tight writing. Front-loading is not an issue since there is only one sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description is the only place an agent could learn what a "treatment" record contains or how it relates to a risk scenario, and it provides none of that. Annotations cover the safety profile, but the core semantic gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, and the empty schema is self-explanatory, so the baseline of 4 applies. The description add nothing here, but nothing is missing either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that the endpoint allows "risk scenarios to be viewed or edited," which largely restates the title and never mentions what "treatment" means — the distinguishing term of the tool name. It does not differentiate this from sibling risk_scenarios_retrieve, risk_scenarios_object_retrieve, or risk_scenarios_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no mention of when treatment data should be fetched versus the parent risk scenario retrieval, no prerequisites, no indication of what identifies the scenario being treated. The agent must infer everything from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_risk_scenarios_updateApi risk scenarios updateCIdempotent
API endpoint that allows risk scenarios to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=false, idempotentHint=true, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that — no mention of what part of the scenario is replaced, permission requirements, or side effects on related risk assessments. Worse, 'viewed or edited' implies a read capability while readOnlyHint=false marks this as a write operation, which is misleading rather than clarifying.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is structurally efficient. But the brevity comes from under-specification rather than discipline — the one sentence conveys almost no actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint accepting an arbitrary untyped body with no output schema and no parameter documentation, the description should explain the expected payload and update semantics. It leaves an agent unable to call the tool correctly without external knowledge of the CISO Assistant API.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%: id is an undescribed string and body is an untyped anyOf object with no field list. The description does not compensate at all — it never mentions the identifier or what the body should contain, leaving the agent to guess the risk scenario payload shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate: 'allows risk scenarios to be viewed or edited.' It names the resource but pairs it with an ambiguous dual verb, so it never says this tool updates an existing risk scenario identified by id. It gives no basis for distinguishing it from the many siblings such as risk_scenarios_update, risk_scenarios_partial_update, or risk_scenarios_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no prerequisites (does it replace or merge fields?), and no mention of alternatives like the partial_update or retrieve endpoints. The agent must infer everything from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_role_assignments_batch_action_createApi role assignments batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=false, idempotent=false and openWorld=true, so the safety profile is known without the description. The description adds nothing beyond that: it doesn't state what action is applied, whether the operation is partial or full replace, whether it can be re-run, or what the effect on unchanged records is. For a non-idempotent mutation, that is a meaningful gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, front-loaded and free of padding, but its brevity comes from omitted content rather than efficiency. Every word earns its place, yet the sentence conveys almost no actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, an empty argument object and siblings that look identical, the description should at minimum say which model is affected and what a batch action does. As written, an agent cannot safely decide whether to call it or how.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema declares zero properties with additionalProperties=false and 100% description coverage, so per the baseline for a zero-parameter schema this scores 4. The description does not attempt to explain the payload, which is acceptable only because the schema itself exposes none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Perform a batch action on multiple objects' – it never names the resource (role assignments) or what the action does (mass update/delete a field). That information lives solely in the tool name/title, so the sentence is close to a restatement of the name suffix. With hundreds of sibling `*_batch_action_create` tools, this text does nothing to distinguish this one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this bulk endpoint versus the sibling single-object tools (`role_assignments_update`, `role_assignments_partial_update`, `role_assignments_destroy`), nor of any prerequisites such as permissions or required IDs. The agent must infer all of this.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_role_assignments_cascade_info_retrieveApi role assignments cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The phrase "Cascade preview" adds a small hint that the response describes downstream effects rather than the record itself, but says nothing about what is previewed or how large the response may be.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that shortness is under-specification rather than efficiency. The trailing colon implies cut-off content, so the one fragment present is not even well-formed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A read tool with no output schema, an undocumented required id, and no annotations explaining return shape — the description would need to carry the entire burden and supplies essentially nothing beyond two words.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter (id) with 0% schema description coverage, and the description never says what the id identifies — a role assignment UUID, a role id, or a user id. The schema alone leaves the agent guessing which object to pass.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment that only echoes the name's cascade_info_retrieve, with a trailing colon suggesting truncated text. It hints that the call previews cascade effects for a role assignment but never states a verb+resource or how it differs from the many other *_cascade_info_retrieve siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is given. With dozens of near-identical cascade_info_retrieve siblings across every resource, an agent has nothing to route on and cannot tell whether this is a pre-delete check or a general introspection call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_role_assignments_createApi role assignments createD
API endpoint that allows role assignments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows role assignments 'to be viewed or edited', but annotations declare readOnlyHint=false and the tool name is 'create' — a write operation. Claiming a read capability contradicts the annotation and obscures that this is a creation endpoint that mutates state and is not idempotent (idempotentHint=false).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short sentence with no padding, but the brevity reflects under-specification rather than efficient structure — the single sentence carries essentially no actionable content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque free-form body, no output schema, and no annotations explaining permissions or side effects, the description should explain what a role assignment is, what the body must contain, and what happens on success. None of that is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter is an untyped 'body' object with additionalProperties: true. The description adds nothing about the payload shape (role, user, scope, permissions, required fields), so the agent has no way to construct a valid request body.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate: 'API endpoint that allows role assignments to be viewed or edited.' It restates the resource name from the tool title without stating what the 'create' action actually does, and 'viewed or edited' does not describe creation at all.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool versus its siblings (ciso_assistant_api_role_assignments_update, _partial_update, _list, _retrieve). An agent is left to infer from the tool name alone that this is the create path for role assignments.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_role_assignments_destroyApi role assignments destroyDDestructiveIdempotent
API endpoint that allows role assignments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=true, but the description frames the endpoint as one that lets role assignments be 'viewed or edited', which reads as a read/update operation and omits the destructive behavior entirely. It also says nothing about what is lost when the assignment is deleted or what permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, but it is unearned boilerplate that misdescribes the operation; brevity does not compensate for content that would actively mislead the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world, non-read-only endpoint with no output schema and no parameter documentation, the description supplies essentially none of the context needed to call it safely: no delete semantics, no cascade or side-effect info, no confirmation guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter (id) with 0% schema description coverage, and the description never mentions it. The name 'id' is self-evident, but the description adds nothing about whether it is the role-assignment record ID or something else.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate: 'allows role assignments to be viewed or edited.' It names the resource but the verbs ('viewed', 'edited') are wrong for a tool named _destroy, so an agent reading only the description would not know this endpoint deletes a role assignment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus the many siblings (ciso_assistant_api_role_assignments_partial_update, _update, _object_retrieve). No prerequisites, no warning, no alternative named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_role_assignments_listApi role assignments listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds no behavioral context of its own — it talks about serializer context injection, which is meaningless to a caller and gives no clue about return shape, pagination, or filtering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, which is concise in length, but it is a developer docstring rather than an informative front-load; being brief here means being under-specified, not efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 undocumented parameters, no output schema, and a description that says nothing about what is listed or returned, the definition is wholly inadequate for an agent deciding how to call this list endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All seven parameters (id, limit, folder, offset, search, ordering, max_pages) have 0% schema description coverage and an empty anyOf schema, and the description explains none of them. For a list tool with paging and search params, this leaves the caller with no guidance on formats or semantics (e.g., what 'folder' scopes, what ordering syntax is accepted).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence describes an internal implementation detail ('Override the list method to inject optimized data into the serializer context') rather than telling the agent that this tool lists role assignments. The word 'list' is the only hint of the resource, and the actual domain object (API role assignments) never appears in the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or how it differs from the many available siblings such as ciso_assistant_api_role_assignments_retrieve, _object_retrieve, or _cascade_info_retrieve. The agent must infer everything from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_role_assignments_object_retrieveApi role assignments object retrieveCRead-onlyIdempotent
API endpoint that allows role assignments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 covered. The description adds nothing beyond that and its phrase "or edited" muddies the picture by implying mutability, though it reads as generic endpoint-family boilerplate rather than a direct claim that this call writes data; no return shape, permission, or not-found behavior is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with the resource stated up front, so it is not bloated, but the sentence is boilerplate that conveys almost no actionable information, so its brevity comes from under-specification rather than efficient writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a by-id retrieve tool with no output schema, the description should at least say what object is returned and what the id refers to. Neither is present, and the read/write ambiguity leaves the agent unsure whether the call is safe to use for inspection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, and the description does not say what kind of identifier it is (UUID vs integer, role assignment id vs user/role id) or how it is obtained. With one undocumented parameter the schema does no work and the description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST-Framework boilerplate: "API endpoint that allows role assignments to be viewed or edited." It names the resource (role assignments) but not the specific operation (fetch a single role assignment by id), and "viewed or edited" conflates read and write, so an agent cannot tell it apart from the sibling _list, _retrieve, _update, or _partial_update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling ciso_assistant_api_role_assignments_list or _retrieve, and no mention of prerequisites such as needing a valid role-assignment id. The agent must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_role_assignments_partial_updateApi role assignments partial updateD
API endpoint that allows role assignments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is nominally covered. The description adds nothing beyond that: it does not say which fields are patchable, whether omitted fields are preserved (the defining trait of a partial update), or what permissions are required. The 'viewed' phrasing mildly misleads about a write endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is boilerplate that does not earn its place: the 'viewed' half is irrelevant to a PATCH tool and actively muddies intent. Brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque free-form body, no output schema, and no supporting parameter documentation, the description should carry most of the load. Instead it supplies none of the payload contract, prerequisites, or effect of the update, leaving the agent unable to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single substantive parameter `body` is an untyped free-form object with no declared properties, so the schema tells the agent nothing about valid payload shape. This is exactly the case where the description must compensate, yet it says nothing about what a role assignment body contains (role, user, scope, permissions).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name/title almost verbatim ('API endpoint that allows role assignments to be viewed or edited') without saying what a role assignment actually is or what a partial update changes. Worse, it conflates read and write ('viewed or edited') for a PATCH-only endpoint, so an agent cannot infer the operation precisely. No differentiation from the many sibling role_assignments_* tools (list, retrieve, create, update, destroy).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance whatsoever: nothing distinguishes partial_update from ciso_assistant_api_role_assignments_update, _create, _destroy, or _retrieve, all of which sit in the sibling set. An agent has no criterion for choosing this tool over PATCH-equivalent alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_role_assignments_retrieveApi role assignments retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior. The description adds useful context that unauthorized related fields are masked, which is a meaningful behavioral trait beyond annotations, but it does not explain authorization prerequisites, error behavior, or the masking model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no filler. However, its brevity leaves important information unstated rather than making it optimally structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieval tool with no output schema and an undocumented required ID parameter, the description is too thin. It notes masking but omits the resource, expected response shape, permissions, and error behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has zero schema description coverage, and the description provides no explanation of what identifier is expected or its format. The parameter is somewhat obvious by name, but the description does not compensate for the missing schema semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a retrieval action and mentions masking, but it never names the resource being retrieved. The agent must infer 'role assignment' from the tool name alone, and the description does not distinguish it from sibling retrieval tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling retrieval/list tools. It also does not mention prerequisites, alternatives, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_role_assignments_updateApi role assignments updateCIdempotent
API endpoint that allows role assignments to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate this is a non-readonly, idempotent, non-destructive, open-world operation. The description adds no useful behavioral context such as required permissions, what the body changes, or what happens on success, and its 'viewed or edited' wording is vague for an update endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no wasted words, but it is generic and under-specified rather than informative. Its brevity does not compensate for the missing update semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema and 0% schema description coverage, the description should explain the required id, the body structure, and the update effect. It provides none of that, so an agent cannot reliably invoke it from the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not explain either parameter. It says nothing about the required 'id' or the untyped 'body' object, leaving the agent with no semantic guidance for constructing the update payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it is an 'API endpoint that allows role assignments to be viewed or edited,' which does not clearly state that this specific tool updates a role assignment. It also fails to distinguish the operation from sibling tools such as role_assignments_retrieve, partial_update, and list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this update tool instead of the retrieve, partial_update, create, destroy, or list variants. The description provides no context, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_search_retrieveApi search retrieveCRead-onlyIdempotent
Universal fuzzy search across all searchable models.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered structurally. The description adds the useful behavioral trait that matching is fuzzy (not exact) and spans all models at once, but says nothing about result caps, ranking, or whether results respect the caller's permission scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler, and the scope statement comes first. It is efficient but sits right at the edge of under-specification for a broadly-scoped tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain the shape of results (mixed model types, identifiers, ranking, pagination), and it does not. Combined with the unexplained query mechanism and undefined set of "searchable models", an agent cannot confidently call or interpret this tool from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter count is zero, which normally sets a baseline of 4, but for a search tool the critical input is the query string and the schema exposes no such field; the description does not explain how the search term is supplied (path, body, or fixed behavior). That omission leaves the single most important semantic unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Universal fuzzy search across all searchable models" names a verb (search) and a scope (all models), so the basic action is identifiable. But "searchable models" is undefined and the definition gives no signal to distinguish it from the many sibling list/autocomplete/retrieve tools in this API surface.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus the dozens of siblings, notably the per-model `_list`, `_autocomplete_retrieve`, and `_object_retrieve` tools, or the generic `ciso_assistant_api_request`. Nothing says when fuzzy global search beats a targeted list call, or whether it is a replacement or a discovery step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_advisories_autocomplete_retrieveApi security advisories autocomplete retrieveCRead-onlyIdempotent
API endpoint that allows security advisories to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, destructiveHint=false and idempotentHint=true, yet the description says the endpoint 'allows security advisories to be viewed or edited', implying mutation capability that the annotations explicitly deny. No compensating context (return shape, suggestion-matching behavior, result limits) is offered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, but its brevity stems from under-specification rather than efficiency. Nothing useful is front-loaded because nothing substantive is stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and no output schema, the description is the sole source of information about this endpoint, and it supplies none of what matters: that it returns lightweight suggestion entries and how that differs from the full retrieve endpoints. In a registry of hundreds of near-identically named tools, that makes correct selection essentially guesswork.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. No parameter-level value could be added here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the resource ('security advisories') with only a vague, passive verb ('viewed or edited') and never mentions the autocomplete behavior that the tool name promises. It gives no way to distinguish this from the many sibling endpoints such as security_advisories_list, security_advisories_retrieve, or security_advisories_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is provided, and no alternative endpoint is named despite an unusually dense cluster of security-advisory siblings. An agent has no signal for choosing autocomplete over list/retrieve, and the word 'edited' actively points in the wrong direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_advisories_batch_action_createApi security advisories batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true; the description adds nothing about what the action does, what it mutates, whether it requires specific permissions, or that it is non-idempotent so retries may duplicate work. For a write tool the description should at least name the supported action types.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no wasted words, but it is under-specified rather than concise; the one sentence carries no routing or payload information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations beyond safety hints, no output schema, and no parameters, the description is the only place an agent could learn which objects and actions are supported, and it omits all of it. Not sufficient for an agent to call this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters yields a baseline of 4 per the rubric, but the empty schema with additionalProperties=false is anomalous for a batch operation and the description does nothing to explain how target objects and the action are conveyed. Slight deduction for leaving that void unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Perform a batch action on multiple objects' restates the title's 'batch action' wording without naming the resource (security advisories) or what a 'batch action' actually does. Among dozens of sibling *_batch_action_create tools with identical phrasing, it gives an agent no basis to distinguish this one from ciso_assistant_api_frameworks_batch_action_create or any other.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternatives named, no prerequisites. An agent cannot tell whether to use this versus the individual create/destroy/partial_update tools on security advisories, nor which objects it applies to.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_advisories_cascade_info_retrieveApi security advisories cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 elsewhere. The description adds almost nothing beyond the word "preview" — nothing about what the cascade payload contains, how deep the cascade goes, or whether it can fail if the id does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Only two words plus a colon — this is under-specification rather than conciseness, and a dangling colon signals truncated text. Nothing is front-loaded because there is essentially no content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A cascade-preview endpoint with an undocumented id and no output schema needs the description to explain what is returned (affected objects, counts, blocked deletions). None of that is present, so the definition is not sufficient to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the sole parameter is an untyped, undescribed 'id'. The description does not say whether this is the advisory's primary key, its reference code, or an object UUID, leaving the caller to guess the identifier format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment that largely restates the tool name rather than stating a verb and resource. It never says it previews the cascade effects (dependent objects) of deleting a specific security advisory, so the agent must infer everything from the endpoint slug.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the alternative destroy/retrieve tools on the same resource, and no prerequisite or warning about how this preview relates to an actual delete. The trailing colon implies omitted content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_advisories_createApi security advisories createD
API endpoint that allows security advisories to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false, so the safety profile is structural, not textual. The description adds nothing beyond that — no note on what gets persisted, duplicate behavior, or side effects of creating an advisory record.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but that brevity comes from under-specification rather than economy: the sentence conveys no actionable information and is generic Django REST boilerplate rather than front-loaded purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a free-form body parameter, no output schema, and no field documentation anywhere, the description should explain the request payload and the resulting record. It is too thin to let an agent invoke the tool correctly, even though the annotations cover the read/write safety signal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single 'body' parameter with 0% schema description coverage and an untyped anyOf object, so the schema tells the agent nothing about what fields an advisory requires. The description does not compensate at all — it never mentions the request payload, required fields, or content shape, so an agent cannot construct a valid call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says security advisories can be "viewed or edited," which restates the resource but never states that this tool creates a new advisory. The sibling set already contains separate retrieve/list/update/destroy tools, so the absence of a clear 'create' verb leaves the agent unable to distinguish it from ciso_assistant_api_security_advisories_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this rather than ciso_assistant_api_security_advisories_update, _partial_update, _list, or _retrieve, and no prerequisites or authentication context. The agent must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_advisories_destroyApi security advisories destroyDDestructiveIdempotent
API endpoint that allows security advisories to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, readOnlyHint=false, idempotentHint=true, but the description says the endpoint is for 'viewing or editing' — the opposite of a deletion. It gives no information about irreversibility, cascading effects, or permission requirements for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is boilerplate filler that conveys no actionable information. Brevity comes at the cost of under-specification rather than from efficient packing of meaningful detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, irreversible delete with no output schema and no parameter documentation, the description should at minimum state that deletion occurs, what is destroyed, and any confirmation or permission context. None of that is present, so the definition is inadequate to safely invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, and the description adds nothing about what the id represents (primary key, reference id, string format). The parameter name is nearly self-explanatory, but the description does not compensate for the total lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate that states the endpoint 'allows security advisories to be viewed or edited', which is a tautological restatement of the resource. It never mentions the actual operation implied by the tool name — destroy/delete — and does nothing to separate it from the many sibling security_advisories tools (list, retrieve, update, partial_update, batch_action_create).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling security advisory endpoints, no prerequisites, and no warning that it permanently removes a record. An agent is left to infer usage entirely from the tool name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_advisories_enrich_createApi security advisories enrich createB
Enrich this advisory with data from its source (NVD or EUVD).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true and idempotentHint=false, so the safety and external-call profile is partly conveyed. The description corroborates the open-world nature by naming NVD/EUVD, but adds nothing about overwrite behavior (does enrichment clobber manually entered fields?), failure handling, or whether re-running produces different results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no wasted words and the key fact (external source) up front. It is arguably under-specified rather than verbose, but structurally clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter external-data mutation with no output schema, the description covers the what but not the outcome: which source is chosen when both are possible, whether existing fields are replaced, and what the agent gets back are all unstated. Adequate to attempt the call, not adequate to predict its effect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One parameter at 0% schema description coverage, so the schema contributes nothing. The description only implies the id refers to "this advisory" — it does not state the identifier format (UUID, ref_id, CVE id) or whether the advisory must already have a source configured, which is the critical precondition for this call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ("Enrich") plus resource ("advisory") and it names the data provenance (NVD or EUVD), so an agent knows this pulls external data into an existing record. It does not differentiate itself from the closely named siblings sync_euvd_create and sync_kev_create, which sound like they do overlapping work.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Enrich this advisory with data from its source" implies the precondition that the advisory already exists and has a source, but there is no explicit when-to-use vs. sync_euvd_create/sync_kev_create, and no guidance on what to do if the advisory's source is unset or the lookup fails.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_advisories_listApi security advisories listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| urn | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| source | No | ||
| library | No | ||
| ordering | No | ||
| provider | No | ||
| max_pages | No | ||
| filtering_labels | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds nothing an agent can use — 'inject optimized data into the serializer context' is backend jargon with no operational meaning (no pagination, filtering, or result-shape hints).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the single sentence is spent on an implementation detail rather than the tool's contract, so brevity here is under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter, zero-coverage list endpoint with no output schema, the description supplies none of the missing context: no list semantics, no filtering/pagination behavior, no result shape. An agent cannot call this correctly based on the definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Twelve parameters with 0% schema description coverage and no meaningful types, and the description explains none of them. Filtering fields like folder, source, library, provider, ordering, search, and max_pages are entirely undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal developer note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does. It never says it lists security advisories, filters them, or returns paginated results; only the tool name carries that meaning.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this vs the many sibling security-advisory tools (autocomplete, object_retrieve, cascade_info, source, enrich, sync_kev, sync_euvd). An agent has no basis to choose among them from this text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_advisories_object_retrieveApi security advisories object retrieveCRead-onlyIdempotent
API endpoint that allows security advisories to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, but the description says the advisories can be 'edited', which contradicts the read-only nature of this operation (the standard DRF viewset docstring leaked into a retrieve-only route). Beyond that it adds no behavioural context such as 404 handling for unknown ids or pagination/auth expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, but every word is generic boilerplate rather than front-loaded actionable information, so brevity does not translate into value here.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should at least indicate that a single advisory object is returned and what identifies it. It supplies neither, and the lone required identifier is left undefined, so the definition 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter, id, and the schema gives it no description (schema description coverage 0%). The description never mentions the id at all, so an agent gets no signal about whether it is a UUID, a numeric PK, or a ref string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'API endpoint that allows security advisories to be viewed or edited' is auto-generated boilerplate that essentially restates the name and title. It never says this endpoint retrieves a single security advisory by identifier, and it conflates retrieve with edit, leaving the agent unable to distinguish it from ciso_assistant_api_security_advisories_retrieve, _list, or _update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no mention of when to pick the object_retrieve over the plain retrieve, list, autocomplete, or cascade_info siblings. The 'viewed or edited' phrasing actively muddies which sibling is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_advisories_partial_updateApi security advisories partial updateC
API endpoint that allows security advisories to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and the description is consistent with a mutation, so no contradiction. But it adds nothing beyond the annotations: no statement that only supplied fields are patched, no permission or side-effect notes, and no indication of what happens to unspecified fields on the advisory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so it is not verbose. However, its brevity comes from generic boilerplate rather than prioritization of useful information, so it is under-specified rather than tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a free-form object body, no output schema, and zero parameter documentation, the description should say what fields can be patched and what the response contains. None of that is present, leaving the definition inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters. The description never mentions the required `id` or the `body` parameter, which is an untyped object blob with no example payload — the agent has no way to know what shape of advisory data to send. Complete description burden, entirely unmet.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates a generic DRF docstring: "allows security advisories to be viewed or edited." It names the resource but conflates read and write, and does not distinguish this PATCH operation from the many sibling tools (security_advisories_update, _retrieve, _list, _create). An agent cannot tell from this text that it is the partial-update endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this instead of ciso_assistant_api_security_advisories_update or _retrieve. The phrase "viewed or edited" actually blurs the choice rather than resolving it, leaving the agent to infer from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_advisories_retrieveApi security advisories retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), so the bar is lower. The description does add real behavioral context — related fields are masked when the caller is not authorized — which is not derivable from annotations or schema. However it says nothing about error behavior for a missing/forbidden id or which fields are considered 'related'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler and no hedging, so structure is fine. But brevity here is under-specification rather than efficiency — the sentence omits the resource and the parameter entirely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and an undocumented id parameter, the description should say what record is returned, what the id refers to, and how masking affects the response. It only supplies the masking note, so an agent cannot confidently call it or interpret the result shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter 'id' with 0% schema description coverage, so the description must carry the meaning. It never mentions id, its expected format, or whether it is the advisory's numeric/UUID/ref identifier, leaving a genuine gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns a single object, but never names the resource (security advisories) — that identity comes only from the tool name. Its one distinguishing statement is about masking unauthorized fields, which is helpful behavior but not a purpose statement, and it does not differentiate itself from the sibling ciso_assistant_api_security_advisories_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this over ciso_assistant_api_security_advisories_object_retrieve, list, or autocomplete. The agent must infer from the name alone that this is the by-id fetch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_advisories_source_retrieveApi security advisories source retrieveCRead-onlyIdempotent
API endpoint that allows security advisories to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows advisories to be 'viewed or edited', while annotations declare readOnlyHint=true and destructiveHint=false. Claiming an edit capability on a read-only endpoint is a direct contradiction, and nothing is said about what the 'source' variant returns. Annotation Contradiction flagged.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no wasted clauses, but its brevity comes from boilerplate rather than from front-loading the information the agent needs (what 'source' means, read-only nature).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and annotations that already cover safety, the description could have closed the remaining gap by saying what the source endpoint returns and that it is read-only. Instead it repeats generic boilerplate and contradicts the annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so parameter semantics carry no burden and the baseline of 4-5 applies. There is nothing an agent could mis-supply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence is generic DRF boilerplate that restates the tool name ('security advisories ... viewed or edited') without explaining what the 'source' retrieval actually returns or how it differs from the many near-identical siblings such as ciso_assistant_api_security_advisories_retrieve, _list, _object_retrieve and _update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of when an agent should pick this over the sibling retrieve/list/update tools for the same resource. The phrase 'viewed or edited' implies either read or write without telling the agent which applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_advisories_sync_euvd_createApi security advisories sync euvd createB
Sync EUVD exploited vulnerabilities synchronously.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=false, openWorldHint=true and idempotentHint=false, so the agent knows this is a non-idempotent write that reaches outside the system. The description adds that execution is synchronous (blocking, not queued), which is genuinely useful beyond the annotations, but it says nothing about what records are created/updated, duplicate behavior on re-run, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though its brevity is partly the problem given the operation's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world sync with no parameters and no output schema, the description leaves too much unsaid: what EUVD is, whether it creates or updates advisories, what a repeat invocation does given idempotentHint=false, and what the caller gets back. The name carries too much of the burden here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (sync) and a specific resource (EUVD exploited vulnerabilities), which is enough to distinguish it from the sibling ciso_assistant_api_security_advisories_sync_kev_create by data source. It does not explicitly name the sibling or contrast the two, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus the KEV sync sibling or the generic security_advisories_create/enrich tools, nor any prerequisite (e.g. feed configuration, credentials). 'Sync ... synchronously' describes how it runs, not when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_advisories_sync_kev_createApi security advisories sync kev createA
Sync KEV feed synchronously. Scheduled async via Huey periodic tasks.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare openWorldHint=true and idempotentHint=false; the description adds that this invocation is synchronous/blocking while the same job also runs async on a periodic schedule. That is genuine behavioral context an agent needs to avoid blocking on a repeated call, though it doesn't say how long the sync takes or whether it can fail on external connectivity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the core action front-loaded and the scheduling caveat second. Minor jargon ('Huey periodic tasks') assumes framework knowledge but costs only a few words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param trigger with an annotated safety profile and no output schema, the description covers the essentials of what and how. It omits what the sync returns (counts, created advisories) and expected duration or external-dependency failure modes, which matter for a blocking open-world call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty, so there is nothing for the description to clarify. Baseline 4 applies; no parameter detail is omitted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ('Sync') and a specific resource ('KEV feed'), which lets an agent distinguish it from the sibling sync_euvd endpoint even without an explicit callout. It stops short of naming the sibling or stating what data is ingested.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The note that the feed is 'scheduled async via Huey periodic tasks' implicitly signals that manual invocation is normally unnecessary, which is useful context. However, it never states when an agent should call this instead of relying on the schedule, nor points to alternatives like sync_euvd.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_advisories_updateApi security advisories updateCIdempotent
API endpoint that allows security advisories to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the description needs to add what happens on write. Instead it adds nothing: no indication of whether body is a full replacement or a merge, what fields are accepted, or what a successful response looks like. "Viewed or edited" is also unhelpful framing for a write endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, which is structurally clean. However, that brevity is achieved by omitting everything useful rather than by tight writing, so it is concise but under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque object payload, no output schema, and zero field documentation, the description should at minimum enumerate editable fields or point to a preceding retrieve. It leaves the agent unable to construct a valid body without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the body parameter is an untyped object with additionalProperties, so the schema provides essentially no semantics. The description does not compensate at all — it never says what belongs in body or that id identifies the advisory to modify. Only the trivial inference that body is the edit payload saves this from a 1.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST-Framework boilerplate: "allows security advisories to be viewed or edited." It restates the resource already in the name/title and blurs the actual verb by bundling "viewed" and "edited", so an agent cannot tell that this endpoint mutates rather than reads. It makes no attempt to distinguish this from siblings like security_advisories_retrieve or security_advisories_partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no preconditions, and no mention of the obvious alternatives (retrieve, partial_update, update, batch_action). The agent must infer from the name suffix alone that this is a full-update call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_exceptions_batch_action_createApi security exceptions batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=false, idempotent=false and openWorld=true, so the safety profile is partly covered, but the description adds nothing about what a 'batch action' does — whether it deletes, updates fields, or accepts ids plus an action name. For a non-idempotent write endpoint targeting security exceptions, that is a meaningful gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, so it is structurally clean and front-loaded, but the brevity comes at the cost of under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations beyond the safety hints, no output schema, and an empty input schema, the description is the only place the missing context could live, and it supplies none. An agent cannot determine the target object, the allowed actions, or the payload contract from this definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters, which normally sets a baseline of 4, but a batch action necessarily needs a payload (ids and an action selector) that is neither in the schema nor explained in the description. The description gives the agent no clue about the expected request body shape, so it falls below the empty-schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Perform a batch action on multiple objects' restates the generic batch concept from the title without naming the resource (security exceptions) or what operations the batch supports. An agent comparing this to the dozens of sibling '*_batch_action_create' tools cannot tell what object type it acts on from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus the per-object create/update/destroy endpoints (e.g. ciso_assistant_api_security_exceptions_update) or versus the other *batch_action_create tools. No prerequisites, exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_exceptions_cascade_info_retrieveApi security exceptions cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: it does not say what a "cascade" preview reveals (e.g. what would be deleted or affected), whether it is scoped to a single object, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but short by omission rather than by economy: a two-word fragment ending in a colon reads as truncated and is not front-loaded with any actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is the only place the return value of this preview endpoint could be explained, and it is silent. Combined with zero parameter documentation, nothing an agent needs to invoke and interpret this tool is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter `id` has no schema description (coverage 0%) and the description does not clarify which object type the id refers to. The one-line text gives no meaning for the parameter, so an agent must guess the identifier domain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is essentially a truncated label that restates part of the tool name rather than stating what the tool does. An agent cannot tell from this whether it previews cascade deletions, dependency graphs, or cascading updates, nor how it differs from sibling *_cascade_info_retrieve tools or security_exceptions_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to prefer this over ciso_assistant_api_security_exceptions_retrieve or *_destroy, and no stated preconditions. The trailing colon suggests text was cut off, leaving no usable routing signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_exceptions_createApi security exceptions createD
API endpoint that allows security exceptions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the description needs to add what a write does. Instead it adds nothing — no mention of required permissions, validation of the exception payload, or that repeated calls create duplicates (non-idempotent).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no bloat, but it is copy-pasted boilerplate that is not front-loaded with any actionable information about creation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create endpoint with an unspecified free-form body and no output schema, the description should at minimum indicate the expected payload shape or the created entity. Neither is present, leaving the caller unable to build a request with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'body' parameter is an opaque additionalProperties object with 0% schema description coverage, and the description says nothing about what fields a security exception requires. With the schema contributing nothing and the description contributing nothing, the agent cannot construct a valid payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the generic DRF docstring 'allows security exceptions to be viewed or edited', which does not state the create operation the tool name and route promise. It restates boilerplate rather than a specific verb+resource, and 'viewed or edited' actually points away from creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many siblings such as ciso_assistant_api_security_exceptions_list, _update, or _batch_action_create. An agent must infer from the tool name alone that this creates a single exception.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_exceptions_destroyApi security exceptions destroyDDestructiveIdempotent
API endpoint that allows security exceptions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, but the description frames the endpoint as one that 'views or edits' records — directly contradicting the destructive annotation. With no mention of irreversible deletion or the auth/permission requirements for it, the description actively misleads on the tool's behavioral profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, but the brevity comes at the cost of specifying the operation; the space saved is spent on misleading boilerplate rather than the one fact that matters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world mutation with no output schema and a 0%-covered parameter, the description should state that it permanently removes an exception and what happens on an unknown id. Instead it provides nothing an agent needs to invoke it safely or correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, and the description adds no meaning about it (no format, UUID expectation, or whether it must reference an existing exception). While the parameter is simple, the description contributes nothing beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint 'allows security exceptions to be viewed or edited', which restates the generic DRF boilerplate rather than stating that this tool deletes a security exception identified by id. The tool name says 'destroy' but the description never mentions deletion, leaving the actual operation ambiguous and partially misleading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many sibling tools for the same resource (security_exceptions_update, security_exceptions_partial_update, security_exceptions_retrieve, security_exceptions_list). No exclusions, prerequisites, or confirmation requirements are mentioned for a destructive call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_exceptions_export_csv_retrieveApi security exceptions export csv retrieveCRead-onlyIdempotent
API endpoint that allows security exceptions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows exceptions to be "viewed or edited," while annotations declare readOnlyHint=true and destructiveHint=false. For a CSV export endpoint this is a direct contradiction and would suggest write capability that does not exist. It also adds nothing about the export behavior itself (that a CSV payload is produced).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single, short sentence with no padding, so it is size-appropriate, but the sentence itself is generic template text that conveys little. Brevity comes from under-specification rather than from efficient information density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter export tool with no output schema, the description should say that it returns a CSV file of security exceptions (and whether any filters or scoping apply). Neither is covered, and the only content present is misleading rather than merely absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema (and the empty properties object) fully specifies the call shape and the description has nothing extra to document. Baseline 4 applies for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ("security exceptions") but never states the actual operation the tool performs: exporting a CSV file, as the name and title make explicit. Worse, it says the endpoint is for viewing or editing, which is neither the export verb nor distinguishable from siblings such as security_exceptions_list, _retrieve, or _export_xlsx_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use information at all, and no mention of the obvious alternative (ciso_assistant_api_security_exceptions_export_xlsx_retrieve) or of when the CSV form is preferable. The agent is left to infer everything from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_exceptions_export_xlsx_retrieveApi security exceptions export xlsx retrieveCRead-onlyIdempotent
API endpoint that allows security exceptions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says exceptions can be "viewed or edited", implying write capability, while annotations declare readOnlyHint=true and destructiveHint=false - an inconsistency. It also gives no useful behavioral context the annotations don't already supply: export format, scope of data included, and whether filters are applied are all unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence is front-loaded and free of padding, but it is boilerplate rather than purposeful brevity. It omits the one fact worth stating (that the output is an XLSX file).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no parameters, so the description must explain what a caller receives; instead it omits the file format, whether the export is filtered, and the response shape. The annotations cover only the safety profile, leaving the core contract undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the schema baseline of 4 applies; the description neither helps nor hurts. It does not, however, clarify that calling with no parameters exports the entire exception set.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate ("API endpoint that allows security exceptions to be viewed or edited") and never says the endpoint exports an XLSX file, which is the only distinguishing signal and it comes from the name alone. It also fails to separate this tool from siblings like security_exceptions_export_csv_retrieve, security_exceptions_list, or security_exceptions_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of the CSV alternative (security_exceptions_export_csv_retrieve) or the list/retrieve siblings. An agent must infer from the tool name that this produces a spreadsheet export rather than a normal read.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_exceptions_listApi security exceptions listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| owners | No | ||
| search | No | ||
| status | No | ||
| approver | No | ||
| ordering | No | ||
| severity | No | ||
| max_pages | No | ||
| risk_scenarios | No | ||
| expiration_date | No | ||
| genericcollection | No | ||
| requirement_assessments | No |
TDQS
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 known. The description adds nothing beyond a serializer hint: no mention of pagination, whether it returns all exceptions or a filtered page, or any auth/scope constraints — notable given the openWorldHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, but it is spent entirely on framework internals rather than orienting information. It is not front-loaded with purpose, scope, or usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 16-parameter, no-output-schema list tool needs far more: filterable fields, pagination (limit/offset/max_pages), ordering syntax, and expected return shape. None of that is present, leaving the definition unusable for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Sixteen parameters with 0% schema description coverage and no descriptions or types beyond 'any'. Fields like status, severity, approver, expiration_date, risk_scenarios, and genericcollection are never explained, so filtering behavior is completely opaque to the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it "overrides the list method" and injects data into a serializer context — internal implementation detail rather than a statement of what the tool does. Only the tool name reveals that it lists security exceptions; the description itself never names the resource or the verb the agent would use.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this list tool versus siblings such as ciso_assistant_api_security_exceptions_retrieve, security_exceptions_object_retrieve, or the export_csv/xlsx variants. The agent gets no filtering/alternatives guidance at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_exceptions_object_retrieveApi security exceptions object retrieveDRead-onlyIdempotent
API endpoint that allows security exceptions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, yet the description claims the endpoint allows records to be 'viewed or edited', implying a write capability that the annotations deny. Nothing else is disclosed — no note that a missing id returns an error, no permission requirements, no response shape — so the description both contradicts structured data and adds no valid behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, so nothing is wasted, but it is under-specified rather than concise — the spare word budget is spent on boilerplate ('API endpoint that allows...') instead of the object-retrieval semantics that matter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve-by-id tool with no output schema, the description should at least say what is returned (a single security exception record) and what the id refers to. Instead it offers a generic DRF-style boilerplate line that leaves the agent guessing about the return payload and identifier format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required 'id' parameter has 0% schema description coverage, and the description says nothing about it. The agent gets no indication of whether 'id' is a UUID, integer ref, or slug, nor what happens with an unknown id — the description does not compensate for the undocumented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'API endpoint that allows security exceptions to be viewed or edited' largely restates the tool title ('Api security exceptions object retrieve') and adds no scope detail. It neither confirms this is a single-object fetch by id nor distinguishes it from siblings such as security_exceptions_list, security_exceptions_retrieve, or security_exceptions_update, and the 'or edited' clause actively muddies what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many sibling endpoints for the same resource (list, retrieve, object_retrieve, update, partial_update, export_csv). The agent must infer usage purely from the tool name suffix, which the description does nothing to reinforce.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_exceptions_partial_updateApi security exceptions partial updateD
API endpoint that allows security exceptions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate this is not read-only, not destructive, not idempotent, and open-world. The description adds no behavioral detail about partial-update semantics, required permissions, body handling, or what changes when fields are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no padding, but it is generic boilerplate rather than a useful definition. The brevity comes at the cost of essential action and parameter information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with two parameters, no output schema, and 0% schema description coverage, the description is far too thin. Annotations cover some safety signals, but the description does not explain partial-update behavior or parameter usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain either parameter. It says nothing about the required exception `id` or the optional `body` object, leaving the agent dependent on an undocumented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource, but the action is vague: it says exceptions can be "viewed or edited" instead of stating that this is a partial update. It does not distinguish this tool from the sibling update, create, retrieve, or list endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this partial update instead of the full update, create, retrieve, or list siblings. The phrase "viewed or edited" could even mislead an agent into treating this as a read-capable endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_exceptions_retrieveApi security exceptions retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish readOnly, idempotent, non-destructive behavior. The description adds useful context that unauthorized related fields are masked in the returned object, but it does not mention permission requirements, 404 behavior, or other retrieval semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted clauses. It is appropriately terse for a simple retrieve tool, though the terseness contributes to the missing resource and parameter detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with rich annotations but no output schema, the description gives a high-level return behavior and masking note. However, it omits the meaning of the required id parameter and does not clarify the returned resource, leaving gaps for an agent to infer from the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required 'id' parameter is undocumented. The description does not explain that the id identifies the security exception to retrieve, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns a single object, which gives a verb and cardinality, but it never names the resource being retrieved. It relies entirely on the tool name/title to clarify that this is a security exception retrieval tool, so it is only minimally distinguishable from the many other *_retrieve siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus the sibling list, object_retrieve, or other security exception endpoints. The phrase 'single object' weakly implies a by-ID lookup, but no conditions or alternatives are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_exceptions_sankey_data_retrieveApi security exceptions sankey data retrieveDRead-onlyIdempotent
API endpoint that allows security exceptions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says security exceptions can be 'viewed or edited,' implying write/edit behavior, but annotations declare readOnlyHint=true and destructiveHint=false. It also does not disclose the sankey-data return behavior, so the description both contradicts and omits important behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but it is boilerplate and under-specified rather than usefully concise. The sentence does not earn its place because it gives no actionable information beyond the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should at least explain that this returns sankey visualization data for security exceptions. Instead it only says the endpoint allows viewing or editing, which is misleading and leaves the return value and intended use unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so there is no parameter semantics for the description to explain beyond the empty schema. Baseline 4 applies for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only gives boilerplate 'API endpoint that allows security exceptions to be viewed or edited' and never mentions sankey data, charts, or retrieval. The name says sankey_data_retrieve, so the description does not clearly identify the tool's actual purpose or distinguish it from sibling security_exceptions retrieval/update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus the many sibling security_exceptions retrieve/list/update/export tools. It only states a generic view/edit capability, which is insufficient for selecting it correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_exceptions_severity_retrieveApi security exceptions severity retrieveCRead-onlyIdempotent
API endpoint that allows security exceptions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows exceptions to be 'viewed or edited', while the annotations declare readOnlyHint=true and destructiveHint=false. An agent could reasonably attempt a write based on this text, so the description actively misleads about capability rather than adding 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no wasted words, but that brevity comes at the cost of substance—the sentence is copied boilerplate that conveys nothing specific about this endpoint. Short but not information-bearing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter lookup whose entire value presumably lies in the returned severity options, the description says nothing about what a caller gets back (no output schema exists to compensate). Annotations cover the safety profile, but the core semantic—what 'severity' retrieve yields—is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline there is nothing for the description to disambiguate. The schema is empty and fully self-explanatory; no parameter-level value is lost by the description's silence.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is boilerplate ('API endpoint that allows security exceptions to be viewed or edited') that restates the resource but never mentions the distinguishing element of this tool: 'severity'. An agent cannot tell from this text whether it returns the enumeration of severity levels, exceptions filtered by severity, or the severity field of a single exception, nor how it differs from security_exceptions_list, _retrieve, or _status_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many security_exceptions_* siblings. The only usage signal comes from the tool name's 'severity' suffix, which the description does not reinforce.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_exceptions_status_retrieveApi security exceptions status retrieveCRead-onlyIdempotent
API endpoint that allows security exceptions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, yet the description says records can be "edited", implying a write capability the endpoint does not have. Even setting the contradiction aside, no behavioral context (what the status values represent, whether the list is static, permissions) is added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, but it is boilerplate that conveys almost no operational information; brevity here comes from under-specification rather than from tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place to explain that this returns the allowable status values for security exceptions. It does not, so an agent cannot tell what it will receive or why it matters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema carries no semantics for the description to supplement. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate: "API endpoint that allows security exceptions to be viewed or edited." It names the resource but the operation is vague, and it does not distinguish this status-lookup endpoint from siblings such as security_exceptions_retrieve, security_exceptions_list, or security_exceptions_severity_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus the many sibling security-exception endpoints. The description states no preconditions, no caller context, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_security_exceptions_updateApi security exceptions updateDIdempotent
API endpoint that allows security exceptions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
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 description adds nothing on the mutation/idempotency/safety front. Worse, saying the endpoint allows records to be "viewed" muddies the fact that this is a write operation, without explaining what an update changes or whether unspecified fields are overwritten (full vs partial semantics).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It's a single short sentence with no filler, which is good, but the brevity comes from under-specification rather than economy – the one clause it does contain ("viewed or edited") is ambiguous rather than informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an undocumented free-form `body` parameter, no output schema, and 0% schema description coverage, the definition provides essentially none of the information needed to call it correctly (what fields belong in body, full vs partial update semantics, error behavior).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description says nothing about either parameter. The opaque `body` object (anyOf object/null) has no documented shape, and the required `id` is not mentioned, so the description does nothing 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name ("security exceptions") and says the endpoint allows them to be "viewed or edited," which is a tautological restatement of the title rather than a specific verb+resource statement. It doesn't clarify that this is a full update requiring the whole record, nor distinguish it from the sibling partial_update or retrieve endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is provided at all. With siblings like security_exceptions_partial_update, security_exceptions_retrieve, and security_exceptions_update, an agent has no signal about which one to pick for which intent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_serdes_attachment_metadata_retrieveApi serdes attachment metadata retrieveBRead-onlyIdempotent
GET endpoint that returns paginated metadata for all attachments.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds the paginated nature of the result, which is real behavioral context, but says nothing about auth, result size, or how pages are traversed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding and the resource stated up front. It is efficient, though 'GET endpoint that' is filler that could be dropped to make the sentence even tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool with full annotation coverage this is mostly sufficient, but there is no output schema and the description does not say what fields the 'metadata' contains or how to page through results, so an agent cannot predict the response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4. The one caveat is that the description calls the result 'paginated' while the schema accepts no page/limit parameters (additionalProperties=false), leaving the pagination mechanism unstated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence names a specific verb (returns) and resource (paginated metadata for all attachments), which is enough for an agent to distinguish it from serdes batch download/upload attachment tools. The 'GET endpoint' framing is a low-value restatement of the obvious and the 'serdes' scope is only implied by the name, not the text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this rather than ciso_assistant_api_serdes_batch_download_attachments_create or the document/evidence attachment retrieval tools. The phrase 'all attachments' hints at global scope but no alternative is named and no precondition is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_serdes_batch_download_attachments_createApi serdes batch download attachments createC
POST endpoint that streams multiple attachments in a custom binary format.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds genuinely useful behavior beyond the annotations: the response is a streamed custom binary format, so an agent knows not to expect JSON. It omits the critical question of how attachments are scoped (zero parameters) and what volume/limits to expect. The readOnlyHint=false hint fits the declared POST endpoint, so no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence that front-loads the HTTP method and the response format. It is not wasteful, but it is also very short given how much is left unexplained.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description must explain how the batch of attachments is identified and what consuming a binary stream entails; it only half-addresses the format. For a zero-arg, no-output-schema tool whose output is non-JSON, this leaves the agent under-informed about invocation and result handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema carries no semantics to explain and the baseline is a 4. The description correctly does not pad with parameter detail that does not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete action and resource (streams multiple attachments) and flags the unusual output format (custom binary). However it does not say which attachments are selected, and it does not distinguish itself from the closely-named sibling serdes_batch_upload_attachments_create or serdes_attachment_metadata_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the metadata or upload siblings, no prerequisites, and no note on how a batch is determined. The agent is left to infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_serdes_batch_upload_attachments_createApi serdes batch upload attachments createB
POST endpoint that accepts multiple attachments in custom binary format.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose that this is a non-read-only, non-idempotent, open-world, non-destructive operation. The description adds that it accepts multiple attachments in a custom binary format, but it doesn't explain the binary envelope, whether the request body is required despite the empty schema, authentication requirements, or what a successful response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no wasted text. Its brevity is appropriate, though the phrase 'custom binary format' leaves the key operational detail underspecified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a batch upload tool with an empty input schema and no output schema, the description is too thin. It doesn't explain how the custom binary payload is structured, what attachments are associated with, or what happens after upload, leaving important behavior implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters, so the baseline is 4. The description mentions multiple attachments and a custom binary format, but with no parameters to document there is little additional parameter semantics to provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: it is a POST endpoint that accepts multiple attachments. It also notes the batch nature and the custom binary format. However, it does not clearly distinguish this tool from nearby serdes upload/download siblings or explain what the attachments are attached to.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool instead of alternatives such as ciso_assistant_serdes_batch_download_attachments_create, load_backup, full_restore, or ordinary attachment upload endpoints. The only implied usage is that it is a POST upload endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_serdes_dump_db_retrieveApi serdes dump db retrieveCRead-onlyIdempotent
api_serdes_dump_db_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: it does not say whether the dump is a full database export, whether it requires admin privileges, how large or slow it may be, or what format the payload is in — which matters for an openWorldHint operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically one short string with no waste, but that is under-specification rather than conciseness — the single token is the tool name, so no information is front-loaded or indeed present anywhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A database-dump endpoint with no output schema, no parameters, and no annotations covering authorization or return shape needs the description to explain what is returned and under what permissions. None of that is present, leaving the agent unable to use the tool safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and schema coverage is 100%, so there is nothing for the description to disambiguate. Per the baseline rule for parameterless tools, a 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal tool name repeated ('api_serdes_dump_db_retrieve'), which is a tautology. An agent can infer from the name that it produces a database dump, but the description itself adds no verb, scope, or format detail and does nothing to distinguish it from siblings like serdes_full_restore_create or serdes_load_backup_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to call this versus the other serdes tools (full_restore, load_backup, batch_download_attachments). No prerequisites, no exclusions, no indication of what a 'dump' is used for in a backup workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_serdes_full_restore_createApi serdes full restore createB
POST endpoint for atomic database + attachments restore.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
'Atomic' is genuinely useful and goes beyond the annotations. However, the description says nothing about what a full restore overwrites, whether existing attachments/data are replaced or merged, what auth or confirmation is required, or how the source backup is supplied. This matters doubly because destructiveHint=false understates an operation that replaces the whole database, so the description is the only place a warning could have lived.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, front-loaded with the operation and scope, with no filler. It is slightly too terse for a high-consequence operation, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent, open-world operation with no parameters and no output schema, one sentence is not enough. The agent still cannot tell what state it must prepare, what will be lost, or what a success response looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters, which normally earns a baseline 4. But a parameterless restore endpoint is surprising — the description gives no hint where the backup payload comes from (prior upload, server-side file, session state), leaving a real semantic gap the empty schema cannot fill.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete action (restore), the payload scope (database + attachments), and a meaningful qualifier (atomic), which separates it from pure dump/upload siblings. It never names the closest alternatives (serdes_load_backup_create, serdes_dump_db_retrieve), so the agent must infer the distinction from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'atomic' implies you pick this over per-step restore/upload operations when you need all-or-nothing, but that implication is never made explicit. There is no stated precondition (e.g. an already-uploaded dump must exist), no exclusion, and no reference to serdes_load_backup_create.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_serdes_load_backup_createApi serdes load backup createD
api_serdes_load_backup_create
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, and the description adds zero context on top of them. For a backup-loading operation, callers get no statement of what existing data is overwritten, what permissions or payload are required, or whether the operation is repeatable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from omitting information rather than from efficiency. There is only a bare identifier, with no front-loaded statement of what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a non-idempotent, open-world write operation that loads a backup, yet there is no output schema and no wording describing effects, return values, or failure modes. Nothing an agent needs in order to call it safely is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty with additionalProperties=false, so there is nothing for the description to disambiguate. Baseline 4 applies; no parameter burden falls on the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw endpoint identifier 'api_serdes_load_backup_create' with no verb-object phrasing or explanation. It hints at loading a backup via the serdes (serialization) module, but an agent must reverse-engineer that from the name alone; siblings such as ciso_assistant_api_serdes_full_restore_create are not distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance of any kind. Nothing tells the caller how this differs from serdes_full_restore_create or serdes_dump_db_retrieve, both of which are adjacent and plausibly overlapping.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_feature_flags_partial_updateApi settings feature flags partial updateD
api_settings_feature_flags_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the basic safety profile is covered. The description adds nothing on top: it does not say what a partial update changes, whether unspecified flags are preserved, what permissions are required for feature flags, or whether changes take effect immediately.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically brief, but this is under-specification rather than conciseness — a single identifier string with no front-loaded statement of action or scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool that accepts an opaque, undocumented free-form body with no output schema and no description of the payload or side effects leaves an agent unable to call it correctly without guessing. Nothing beyond the annotations is supplied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter is a free-form object (`additionalProperties: true`, anyOf with null) with 0% schema description coverage, so the schema tells an agent almost nothing about the expected payload. The description must compensate here and instead provides zero information about which feature-flag keys or value shapes the body accepts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim ("api_settings_feature_flags_partial_update"), so its entire meaning derives from parsing an identifier rather than a stated purpose. It does imply partial modification of feature flags in API settings, but it adds no verb-plus-resource statement and does not distinguish this from the sibling ciso_assistant_api_settings_feature_flags_update or ciso_assistant_api_settings_feature_flags_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the retrieve variant, the full-update variant, or the generic ciso_assistant_api_request sibling. No prerequisites, no exclusions, nothing to select on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_feature_flags_retrieveApi settings feature flags retrieveCRead-onlyIdempotent
api_settings_feature_flags_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered by structured data. The description adds nothing beyond that – no indication of whether this returns a flag map, a global vs. per-tenant view, or whether admin privileges are required – and is fully redundant with the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single identifier-length string, so there is no wasted text, but this is under-specification rather than conciseness. Nothing is front-loaded because nothing is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and annotations covering safety, an agent still needs to know what the response looks like (a flag list? which flags?) and whether the call is privileged, and there is no output schema to fall back on. The description leaves those questions entirely unanswered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, which is the baseline-4 case; there is nothing for the description to disambiguate. It neither helps nor hurts, but no parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool identifier with underscores, so it only restates the name. An agent can infer it retrieves feature-flag settings from the name alone, but the description itself contributes no verb-plus-resource statement and never distinguishes it from sibling retrieve tools such as settings_general_retrieve or settings_vulnerability_sla_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite or permission note, and no reference to alternatives such as the paired partial_update/update tools for the same feature_flags resource. It is not misleading, but it offers nothing an agent could act on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_feature_flags_updateApi settings feature flags updateDIdempotent
api_settings_feature_flags_update
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true; the description adds no context beyond that (no mention of what the flags body should contain, permissions required, or effect of the update). The description carries no behavioral information at all and 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single fragment with no waste, but the brevity is under-specification rather than conciseness — there is no front-loaded statement of purpose, scope, or effect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations explaining payload semantics, a completely opaque body parameter, and no output schema, the description provides nothing an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single 'body' parameter, which is an untyped anyOf object with additionalProperties true and a null default. The description supplies no information about the shape or expected contents of that body, leaving the agent with no way to construct a valid call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool name repeated with underscores/spaces swapped in: 'api_settings_feature_flags_update'. It implies updating feature flags via an API settings endpoint, but it is a tautological restatement of the title rather than an explanation, and it does nothing to distinguish it from siblings like ciso_assistant_api_settings_feature_flags_partial_update or ciso_assistant_api_settings_feature_flags_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool, when not to, or how it differs from the closely related feature_flags_retrieve and feature_flags_partial_update siblings. An agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_general_default_custom_analytics_dashboard_retrieveApi settings general default custom analytics dashboard retrieveBRead-onlyIdempotent
Return a {dashboard_uuid: dashboard_name} map of dashboards
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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's added value is the return shape (uuid→name map), which compensates for the missing output schema, but it says nothing about which dashboards are included or access requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though it could have used one more clause to scope the tool rather than only restating the shape.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description does the minimum by describing the return shape. However, it leaves ambiguous whether it returns all dashboards or only default/custom analytics dashboards, which is the central question an agent would have.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4 and there is nothing the description could usefully add about inputs. No contradiction or gap exists here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Return') and resource ('dashboards') plus the exact response shape ({dashboard_uuid: dashboard_name} map). It is clear on its own, but it does not distinguish itself from nearby siblings such as metrology_dashboards_list or settings_general_set_default_dashboard_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to call this versus other dashboard- or settings-related tools, and no prerequisites or exclusions are mentioned. The agent must infer from the name alone that this is a settings-scoped dashboard lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_general_default_language_retrieveApi settings general default language retrieveARead-onlyIdempotent
Returns the configured default language. Falls back to English if unset or invalid.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds real behavioral value the annotations cannot: it always yields a value, defaulting to English when the setting is unset or invalid, so callers never need a null/error branch. It stops short of describing the returned value's shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler, with the primary behavior stated first and the fallback second. Nothing could be removed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is trivial and the description covers purpose plus fallback behavior, which is most of what an agent needs. However, with no output schema, the description is the only source of return-value information, and it does not say whether the result is a language code, a display name, or a wrapped object.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. No parameter text is needed or missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb and resource: 'Returns the configured default language.' That is exactly the endpoint's scope, and it is unmistakably distinct from siblings like force_language_create or settings_general_retrieve, which are named for different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent infers it should call this to read the default-language setting. There is no explicit when-to-use, no when-not-to-use, and no pointer to alternatives such as settings_general_retrieve, which may return the same value within a larger payload.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_general_default_language_retrieve_2Api settings general default language retrieve 2CRead-onlyIdempotent
api_settings_general_default_language_retrieve_2
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered by structured data. The description adds nothing beyond that—no note on auth requirements, what object is fetched, or whether the result is a raw language code.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but shortness here is under-specification, not concision—the single token-length string conveys no information beyond the name. Nothing is front-loaded because there is no content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should say what is returned (e.g. a language code / locale object). With an identically named sibling in the list, the missing differentiation is a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name, only weakly implying 'retrieve the default language setting'. It never states in prose what the tool returns or how it differs from the near-identical sibling ciso_assistant_api_settings_general_default_language_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or prerequisite information. Crucially it does not explain why this _2 variant exists alongside ciso_assistant_api_settings_general_default_language_retrieve, leaving the agent unable to choose between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_general_ebios_radar_parameters_retrieveApi settings general ebios radar parameters retrieveCRead-onlyIdempotent
api_settings_general_ebios_radar_parameters_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered without the description. The description adds nothing on top: no indication of whether the response is cached, config-dependent, global-scoped, or requires specific admin permissions. It does not contradict the annotations, it simply fails to contribute.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here is under-specification rather than conciseness: the single token string carries no explanatory content and is not front-loaded with a verb-plus-resource statement, so no sentence actually earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place an agent could learn what the returned EBIOS radar parameters look like or what they are used for, and it provides none of that. It is complete only in the trivial sense of matching the name, which is insufficient for an agent to decide whether it needs this data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case per the rubric. The schema is empty and fully described, and there is nothing for the description to clarify about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool's snake_case identifier, so any meaning (retrieve EBIOS radar parameters under general API settings) has to be decoded from the name itself. It does not state in prose what the tool returns or what an 'EBIOS radar parameter' is, and it gives no differentiation from adjacent settings retrievers such as settings_general_retrieve or settings_general_security_objective_scale_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus the many sibling settings retrievers, no prerequisite or permission context, and no exclusions. The only cue is the word 'retrieve' embedded in the identifier, which implies a read but nothing about the conditions that select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_general_force_language_createApi settings general force language createD
api_settings_general_force_language_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that - no mention of required permissions, whether the change is reversible, or what a repeated call does despite non-idempotency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single identifier with no waste, but this is under-specification rather than conciseness - there is no front-loaded purpose, no verb-object statement, and no structure beyond the slug.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with a free-form body, no output schema, and no annotations explaining side effects needs substantial description to be callable. Nothing here explains what is created, in what scope, or with what payload, so the definition is functionally incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'body' parameter is an untyped free-form object with 0% schema description coverage, and the description does not name a single field, format, or required key. The agent has no way to construct a valid payload from either the schema or the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated verbatim ('api_settings_general_force_language_create'), which is a tautology rather than an explanation. An agent can infer from the slug that it touches general API settings around forcing a language, but the description itself states nothing about what is created or what 'force language' means.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling to use instead. Siblings such as api_settings_general_default_language_retrieve and api_settings_general_update exist and are indistinguishable from this description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_general_interface_settings_retrieveApi settings general interface settings retrieveCRead-onlyIdempotent
api_settings_general_interface_settings_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered by structured data. The description adds zero behavioral context — no indication of what configuration surface is exposed or whether it reflects server-wide or per-user state. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here reflects under-specification rather than economy — the single identifier repeated back earns no place and provides no front-loaded intent. Nothing is structured for the reader.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no description of the returned configuration object, an agent cannot know what fields to expect or how to act on the result. For a read-only settings endpoint in a crowded settings namespace, the description should at minimum name the configuration it exposes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters at all, so there is nothing for the description to disambiguate; the empty schema is self-explanatory. Baseline 4 applies for a zero-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name, adding no explanation of what 'general interface settings' actually are or what the retrieve returns. An agent must decode the snake_case identifier itself to infer purpose, and nothing distinguishes it from siblings like ciso_assistant_api_settings_general_retrieve or ..._settings_feature_flags_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to call this versus the many other settings-general retrieve endpoints (default_language, notifications_settings, ebios_radar_parameters, security_objective_scale, etc.). No prerequisites, no exclusions, no alternatives named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_general_notifications_settings_retrieveApi settings general notifications settings retrieveCRead-onlyIdempotent
api_settings_general_notifications_settings_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered structurally. The description adds absolutely nothing beyond that - no mention of what notification settings are returned, whether auth is required, or any caching behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not concise in any useful sense - it is an under-specified identifier dump rather than a front-loaded explanation. Brevity here comes at the cost of all meaning, so it does not earn its place as a description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only channel to explain what this endpoint returns (the tenant's general notification settings) and how it relates to the other settings endpoints. It supplies none of that, leaving an agent unable to distinguish or justify calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters and additionalProperties is false, so there is nothing for the description to clarify. Per the baseline for parameterless tools, a 4 is appropriate; no parameter meaning is lost.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the tool name repeated verbatim ('api_settings_general_notifications_settings_retrieve'). An agent can only infer purpose by parsing the identifier itself; there is no stated verb-resource relationship in prose and no differentiation from the many sibling settings retrieval tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when this tool should be called instead of siblings like ciso_assistant_api_settings_general_retrieve, settings_feature_flags_retrieve, or settings_vulnerability_sla_retrieve. No prerequisites, no exclusions, no alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_general_object_retrieveApi settings general object retrieveCRead-onlyIdempotent
api_settings_general_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that — no mention of what configuration data is returned, whether it is per-tenant, or any auth/sensitivity context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token with no filler, but this is under-specification rather than conciseness — there is no front-loaded statement of purpose, scope, or return content to justify the extreme brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists and the description supplies nothing about what settings object is returned or how it relates to the sibling settings endpoints (feature flags, SSO, general retrieve). For a zero-parameter, annotation-only tool, the description leaves the agent unable to call it with confidence about the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing for the description to explain; baseline 4 applies. No parameter meaning is missing or misrepresented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name verbatim ('api_settings_general_object_retrieve'), which merely restates the identifier without stating in prose what the tool returns or how it differs from the very similar sibling ciso_assistant_api_settings_general_retrieve. An agent gets the gist from the name alone, but nothing is clarified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no indication of what 'general settings' covers, and no routing advice relative to the near-identical sibling api_settings_general_retrieve. The agent must guess based on name morphology.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_general_partial_updateApi settings general partial updateD
api_settings_general_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true. The description adds nothing: no statement of which settings are affected, whether changes are reversible, or what permissions are required for an admin-level configuration mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically short, but it is under-specified rather than concise — a single underscored token with no sentence structure and nothing front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with no output schema, an opaque free-form body parameter, and only annotations for safety signals. An agent cannot know what to send or what will change; the definition is not usable without external API knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, 'body', an untyped open object with 0% schema description coverage. The description gives no indication of the expected payload shape or fields, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool name restated ('api_settings_general_partial_update'), which conveys a PATCH-style partial update on general API settings but adds no verb+resource phrasing beyond the identifier. It is tautological rather than genuinely descriptive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many sibling settings tools (general_update, general_retrieve, general_object_retrieve, feature_flags_partial_update, etc.). The partial-vs-full distinction is left entirely to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_general_retrieveApi settings general retrieveCRead-onlyIdempotent
api_settings_general_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is fully structured. The description adds nothing beyond that — no mention of authentication requirements, what configuration payload is returned, or whether the response is global vs user-scoped. No contradiction, but no added value either.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token, so there is no bloat, but it is under-specified rather than concise — the entire description is a machine identifier, with nothing front-loaded or structured to help an agent decide.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only channel for explaining what 'general settings' actually contains, and it says nothing. An agent cannot predict the response shape or whether this is a safe quick read of tenant configuration.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (empty object, additionalProperties=false), so there is nothing for the description to disambiguate. Per the zero-parameter baseline, a 4 is appropriate; the only minor gap is that the empty schema still leaves implicit whether any query context (tenant, org) is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare restatement of the tool name ("api_settings_general_retrieve") with no verb, resource, or scope added. It does not distinguish this endpoint from close siblings such as api_settings_general_object_retrieve, api_settings_general_update, or api_settings_general_partial_update, so an agent gains nothing it could not infer from the identifier alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this tool, when not to, or which sibling to prefer (e.g. object_retrieve vs general_retrieve). The description offers zero routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_general_security_objective_scale_retrieveApi settings general security objective scale retrieveCRead-onlyIdempotent
api_settings_general_security_objective_scale_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered without the description. The description adds nothing beyond that — no indication of what the scale payload contains, whether it's tenant-wide, or any auth/permission context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but short because it says nothing — an under-specified one-line name repetition rather than a front-loaded summary. Brevity here reflects absent content, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description is the only place a caller could learn what the returned 'security objective scale' looks like, and it provides none of that. For a no-parameter settings read this is a real gap, though the low stakes and clear annotations keep it from being a 1.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The empty schema with additionalProperties=false is self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the tool name echoed back, so it restates the identifier rather than explaining the operation. An agent can infer a read of a security-objective scale setting from the name tokens, but the description itself contributes no verb+resource statement and nothing distinguishes it from sibling settings endpoints such as settings_general_interface_settings_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the many other settings_general_* retrieve tools, nor any prerequisite or exclusion. Only the word 'retrieve' in the name implies a read context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_general_set_default_dashboard_createApi settings general set default dashboard createC
Partial update of the default_custom_analytics_dashboard key.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is covered, but the description adds almost nothing beyond restating that this is a partial update. It does not say what happens to fields omitted from the body, whether the change is immediate and global, or whether elevated permissions are required for a settings-level mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler and no repetition of the title. It is efficient, though the brevity reflects under-specification rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation of a settings value with no annotations beyond the default hints, no output schema, and a completely undocumented payload. For an agent to call it correctly it needs the body shape and scope, neither of which the description provides.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'body' parameter is a free-form anyOf object with no shape at all. The description names the key being set, which hints the body should contain something like that key, but it never specifies the expected payload structure, accepted value types, or whether body=null has meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (partial update) and a specific settings key (default_custom_analytics_dashboard), which is more than the title offers. However, it never clarifies the scope of the setting – global instance setting vs. per-user preference – and does not distinguish it from the sibling ciso_assistant_api_settings_general_partial_update, which could plausibly perform the same change.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no prerequisites, and no pointer to the sibling retrieval tool (settings_general_default_custom_analytics_dashboard_retrieve) for reading the current value. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_general_updateApi settings general updateDIdempotent
api_settings_general_update
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true; the description adds no behavioral context beyond them. It does not say what settings are affected, whether changes take effect immediately, whether admin privileges are required, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single token is not even a sentence, has no structure, and front-loads nothing. This is under-specification mislabeled as brevity; every piece of information an agent needs is absent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with a free-form body, no output schema, no annotations explaining scope, and no schema documentation — the description should carry the entire burden and instead carries none. An agent cannot call this correctly or safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter ('body') with 0% schema description coverage and an untyped free-form object accepting additionalProperties. The description provides no hint about what fields that body should contain, so an agent has literally no way to construct a valid call from the available information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name re-formatted ('api_settings_general_update'), which is a tautology rather than a statement of what the tool does. An agent can infer from the identifier that some general API setting is being updated, but the description itself supplies no verb-and-resource sentence and nothing distinguishes it from settings_general_update or settings_general_partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, prerequisites, or named alternatives are given. The sibling list contains settings_general_update, settings_general_partial_update, settings_general_retrieve, settings_feature_flags_update, and many other settings endpoints, and the description gives no basis for choosing among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_global_createApi settings global createD
api_settings_global_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is covered externally. The description adds nothing beyond that – no note on permissions required to modify global API settings, no side effects, no mention of what happens on duplicate creation despite idempotentHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single identifier with no wasted words, but that is under-specification rather than conciseness – there is no front-loaded statement of purpose beyond the name itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an untyped free-form body parameter, an open-world hint, and no output schema, the description should explain required payload shape and effect. It is completely absent, leaving the agent unable to construct a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'body' has 0% schema description coverage and is an open anyOf object with additionalProperties true, so neither the schema nor the description tells the agent what fields the payload must contain. This is the exact case where the description must compensate and it provides nothing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name restated with underscores removed: 'api_settings_global_create'. It implies a create operation on global API settings but gives no specifics about what object is created or what 'global' scope entails, and it does not distinguish itself from the many sibling create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to use this tool, no prerequisites, no mention of alternatives such as settings_global_update or settings_global_partial_update, which are the obvious siblings an agent must choose between.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_global_destroyApi settings global destroyDDestructiveIdempotent
api_settings_global_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the agent knows this is a destructive write. The description adds nothing about what gets deleted, whether deletion cascades, or if confirmation/permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is under-specified rather than efficiently worded; there is no front-loaded statement of effect or scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with an undocumented identifier parameter and no output schema, the description supplies none of the context needed to call it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' is undocumented in both schema (0% description coverage) and description; the agent gets no information on what entity the id refers to or its format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool name restated as a slug; the only semantic content ('destroy') comes from the name itself, not the description. It doesn't state what resource is destroyed or distinguish this from the many sibling *_destroy tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives (e.g. partial_update or other settings endpoints), and no preconditions or warnings are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_global_listApi settings global listDRead-onlyIdempotent
api_settings_global_list
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is fully covered. The description adds nothing beyond that — no pagination behavior, no mention of what the collection contains, no data-sensitivity or auth notes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token with zero waste, but that is under-specification rather than conciseness. There is no front-loaded statement of what the tool returns or how to page through results.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A paginated list endpoint with an untyped schema, no output schema, and no annotations explaining return shape. The description gives the agent nothing to work with on result structure, page size defaults, or ordering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Three parameters (limit, offset, max_pages) exist with 0% schema description coverage and untyped anyOf constraints, and the description says nothing about them. With low coverage the description must compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the tool name echoed back ('api_settings_global_list'), with no verb or resource explanation. An agent must infer from the name that this lists global API settings, and there is no differentiation from the many sibling settings tools (global_create, global_retrieve, general_retrieve, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this versus ciso_assistant_api_settings_global_retrieve, settings_general_list-like siblings, or any other listing tool. Nothing indicates what distinguishes a list call from a retrieve call in this API surface.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_global_partial_updateApi settings global partial updateD
api_settings_global_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations state readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, so the agent knows this is a non-destructive but non-idempotent write. The description contributes nothing beyond that: it doesn't say which global settings are mutable, whether partial omission leaves fields untouched, what permissions are required, or why openWorld is true. No contradiction with annotations, but zero added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is as short as possible, but this is under-specification rather than conciseness; the single phrase carries no information beyond the identifier and is not structured to front-load anything useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no output schema, no documented parameters, and only bare annotations. Given the complexity implied by a free-form body object and the huge sibling surface, the description is completely inadequate to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two parameters, and the description does not compensate at all. The `id` is an untyped-for-purpose string and `body` is an opaque free-form object with additionalProperties true and no hints about expected keys, so an agent cannot know what payload to construct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool name in snake_case restated as a phrase: 'api_settings_global_partial_update'. It tells an agent only what the name already implies (partial update of global API settings) and adds no statement of purpose, scope, or effect. It is tautological rather than clarifying, and among hundreds of sibling settings tools it does nothing to distinguish itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to use this tool, when not to, or which sibling to choose instead (e.g. settings_global_update vs settings_global_partial_update vs settings_global_retrieve). The agent must infer everything from the name and the existence of an `id` parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_global_retrieveApi settings global retrieveDRead-onlyIdempotent
api_settings_global_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 no behavioral context — not what 'global settings' contain, not whether it requires admin privileges, not what happens with an unknown id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that is under-specification rather than conciseness — the entire description is a single identifier with zero informational content. There is nothing to be front-loaded because nothing is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieval endpoint with one required parameter, no output schema, and no param documentation, the description leaves the agent without the minimal facts needed to call it correctly. Only the annotations provide any usable context, and those are structured fields rather than description content.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, and the description says nothing about what the id identifies (an object PK? a singleton key?). With one undocumented parameter the description needed to compensate for the schema gap and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool name reworded ('api_settings_global_retrieve') and never states in prose what the tool does. It hints at retrieving global API settings, but the agent must parse the snake_case identifier itself to infer verb and resource, and there is no differentiation from siblings like ciso_assistant_api_settings_feature_flags_retrieve or ciso_assistant_api_settings_general_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all, no conditions, and no mention of the settings_global_list/create/update/destroy siblings that share this resource. The agent is left to infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_global_updateApi settings global updateDIdempotent
api_settings_global_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that - no mention of what the global settings control, whether changes are audited, or what constraints apply to the payload.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token string, so there is no filler, but this is under-specification rather than conciseness. Nothing is front-loaded because nothing is stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with zero annotation-independent context, no output schema, and a completely undocumented free-form body, the definition is inadequate. An agent cannot determine what payload to send or what the effect will be.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters; 'id' is an unexplained string and 'body' is an untyped open object with additionalProperties=true. The description supplies no field names, no payload structure guidance, and does not compensate for the coverage gap at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'api_settings_global_update' is a verbatim restatement of the tool name, offering no elaboration of what is being updated or what 'global' settings comprise. The verb and resource can be inferred from the name alone, but that is tautology rather than clarification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus siblings such as ciso_assistant_api_settings_global_partial_update or settings_global_create. The update-vs-partial-update distinction, which is the key routing decision here, is left entirely unaddressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_sec_intel_feeds_partial_updateApi settings sec intel feeds partial updateD
api_settings_sec_intel_feeds_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false, but the description adds nothing about what a partial update changes, required permissions, or what happens to unspecified fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but not concise — it is a single identifier repeated as prose, with no front-loaded explanation of action, target, or payload.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with no output schema, an undocumented free-form body, and no annotations-level elaboration. Nothing helps the agent understand what to send or what it will get back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one body parameter with 0% schema description coverage and an opaque 'anyOf object' type. The description gives no hint about the expected payload shape (which feed settings fields exist), so the agent has no way to construct a valid body.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the tool name restated: 'api_settings_sec_intel_feeds_partial_update'. An agent can infer a PATCH on security-intel-feed settings from the identifier, but the description itself supplies no verb/resource statement beyond it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the sibling ciso_assistant_api_settings_sec_intel_feeds_update (full update) or _retrieve, which is the exact distinction an agent needs here.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_sec_intel_feeds_retrieveApi settings sec intel feeds retrieveCRead-onlyIdempotent
api_settings_sec_intel_feeds_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, destructiveHint=false, so the safety profile is fully covered by structured data. The description adds nothing beyond the name — no mention of what configuration is returned, whether it requires admin permission, or whether it is a singleton settings object.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One token-string with no sentence structure. It is not verbose, but it also conveys nothing: there is no front-loaded purpose statement an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place to say that this returns the security intelligence feed configuration, yet it says nothing. An agent cannot tell from this definition what it will receive or whether it is the right settings endpoint to call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to explain; the baseline for a no-parameter tool is 4. The description neither helps nor harms here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool's own slug with underscores removed as words: 'api_settings_sec_intel_feeds_retrieve'. It implies fetching the security-intel-feeds settings object, but restates the name rather than stating a verb+resource in plain language, and does nothing to distinguish it from the sibling settings resources (feature_flags, vulnerability_sla, sso, general).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. The siblings ciso_assistant_api_settings_sec_intel_feeds_partial_update and _update exist, and an agent gets no signal about when to read vs. modify, or which settings endpoints matter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_sec_intel_feeds_updateApi settings sec intel feeds updateDIdempotent
api_settings_sec_intel_feeds_update
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered by structured data. The description adds nothing about what the update affects, whether it requires admin permissions, or whether full replacement semantics apply; it merely echoes the name and 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is under-specified rather than efficient; there is no front-loaded statement of intent, just an identifier string.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating settings endpoint with no output schema and an opaque body parameter, the definition supplies no payload shape, no prerequisites, and no scope. An agent cannot safely construct a call from this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'body' parameter has 0% schema description coverage and is an untyped anyOf object; the description provides no hint about expected body fields for a security intel feed setting. With full burden on the description and nothing supplied, this is a clear failure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal tool name 'api_settings_sec_intel_feeds_update' with underscores, restating the identifier rather than stating what the tool does. It gives no verb+resource formulation, no explanation of what a 'sec intel feed' is, and no differentiation from the sibling retrieve/partial_update variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to call this versus ciso_assistant_api_settings_sec_intel_feeds_partial_update or _retrieve, both of which are present among the siblings. The agent must infer everything from the name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_sso_cascade_info_retrieveApi settings sso cascade info retrieveCRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile is covered. The description adds only the notion of a 'preview', which hints the call is non-committal but says nothing about what is inspected, what the cascade affects, or whether it depends on current SSO configuration.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but shortness here is under-specification rather than conciseness — a two-word fragment that leaves the core question (what does this return?) unanswered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must at least sketch the return shape of a 'cascade preview', and it does not. An agent has no basis to decide whether this call is useful or what to do with its result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters and 100% schema coverage, so there is nothing for the description to disambiguate. The baseline for a no-parameter tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment that essentially restates the 'cascade_info' portion of the tool name. It never says what is being cascaded (SSO settings) or what the preview contains, so an agent cannot distinguish it from the dozens of sibling `*_cascade_info_retrieve` tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to call this versus the sibling `settings_sso_info_retrieve`, `settings_sso_object_retrieve`, or `settings_sso_retrieve`. No prerequisites, no context, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_sso_info_retrieveApi settings sso info retrieveCRead-onlyIdempotent
API endpoint that returns the CSRF token.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, and open-world behavior. The description adds only the claimed return value, a CSRF token; it says nothing about token sensitivity, authentication requirements, or SSO configuration details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence with no filler and front-loads the claimed return value. The terseness is not wasted, though the sentence is under-specified rather than genuinely informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must carry return semantics, but it mentions only a CSRF token and not the SSO info implied by the tool name, its format, or how it should be used. For a security-sensitive SSO settings endpoint, this leaves key context missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and an empty schema with 100% coverage, so there are no parameter semantics to explain. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and returned resource, 'returns the CSRF token,' but that resource does not match the tool name/title 'settings sso info retrieve' and overlaps with the dedicated ciso_assistant_api_csrf_retrieve sibling. An agent cannot tell what 'sso info' actually covers from this sentence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this instead of ciso_assistant_api_csrf_retrieve or ciso_assistant_api_settings_sso_cascade_info_retrieve, and no prerequisites, exclusions, or authentication context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_sso_object_retrieveApi settings sso object retrieveCRead-onlyIdempotent
api_settings_sso_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 nothing about authentication requirements, what the SSO object exposes, or whether it may fail when SSO is unconfigured, so it fails to contribute beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one token long, but that brevity comes from under-specification rather than economy. There is no front-loaded sentence stating what it does or returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must explain what is returned, and it does not. For a zero-parameter retrieve endpoint with many near-identical SSO siblings, the description leaves the agent unable to predict the response content or pick this tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is complete (additionalProperties: false), so there is nothing for the description to clarify here. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the identifier 'api_settings_sso_object_retrieve' restated, with no verb or human-readable phrasing. It hints at retrieving an SSO settings object but doesn't say what that object contains or how it differs from sibling settings_sso_retrieve / settings_sso_info_retrieve / settings_sso_provider_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no conditions, and no mention of the several closely named SSO siblings. An agent has no basis for choosing this over ciso_assistant_api_settings_sso_retrieve or ciso_assistant_api_settings_sso_provider_retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_sso_partial_updateApi settings sso partial updateD
api_settings_sso_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, but the description adds nothing on top: it doesn't say what is mutated, whether SSO configuration changes affect authentication, or whether partial omission preserves existing values. With a mutation tool whose annotations are already thin, this is a serious gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than economy: a single identifier-token string with nothing front-loaded. No sentence in it earns its place because none conveys information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with an untyped free-form body, no output schema, and no annotations describing permissions or side effects. Everything an agent would need to invoke it safely, payload shape and effect on live SSO configuration, is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'body' parameter has 0% schema description coverage and is typed only as an arbitrary object with additionalProperties=true, so neither schema nor description says which SSO fields (e.g. provider, URL, certificate, enabled flag) belong in the payload. The description supplies zero compensating detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name ('api_settings_sso_partial_update') with no verb-resource phrasing or scope statement beyond what the identifier already encodes. It implies a partial update to SSO API settings, but tells the agent nothing about which settings fields exist or what the operation affects. It is a tautology rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the closely named siblings ciso_assistant_api_settings_sso_update, ciso_assistant_api_settings_sso_retrieve, or ciso_assistant_api_settings_sso_object_retrieve. No prerequisites, no context, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_sso_provider_retrieveApi settings sso provider retrieveCRead-onlyIdempotent
api_settings_sso_provider_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is fully covered by structured fields. The description adds no behavioral context of its own — nothing about what SSO provider configuration is returned, whether it exposes secrets, or whether auth is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single bare identifier rather than prose, so it is not verbose but is severely under-specified. Brevity here reflects missing content, not efficient writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of telling the agent what the SSO provider payload contains, and it says nothing. For a settings/security-adjacent retrieval endpoint surrounded by near-identical siblings, this is not enough to call it correctly with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is trivially complete, so there is nothing for the description to explain. Baseline 4 applies when there are no parameters to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool's identifier restated ("api_settings_sso_provider_retrieve"), not a sentence describing what is done. An agent can infer 'retrieve SSO provider settings' only from the name itself, and nothing distinguishes it from siblings like sso_info_retrieve, sso_object_retrieve, or sso_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of the closely named alternatives (sso_retrieve, sso_info_retrieve, sso_object_retrieve) that an agent would have to disambiguate against. The description provides no routing information whatsoever.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_sso_retrieveApi settings sso retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 does add one genuine behavioral trait beyond them — that unauthorized related fields are masked in the response — but it never explains what 'unauthorized' means or which fields are affected, weakening the value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, but here brevity reflects under-specification rather than discipline; the one clause present is not the most important thing an agent needs to know.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description carries the full burden of explaining what is returned. It never identifies the SSO settings object or its fields, leaving the most important context missing for a settings-retrieval tool surrounded by similarly named siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is an empty closed object, so there is nothing for the description to document. Baseline for a 0-parameter tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence says only 'Return a single object', with no mention of SSO settings, which is the actual resource named in the tool name and title. It adds a masking detail but never states what entity is being retrieved, so an agent cannot distinguish it from siblings like settings_sso_info_retrieve, settings_sso_object_retrieve, or settings_sso_provider_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no prerequisites, and no routing to the three closely-named SSO siblings. An agent is left to guess purely from the identifier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_sso_updateApi settings sso updateDIdempotent
api_settings_sso_update
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered externally. The description adds nothing beyond that: it does not say what SSO settings are overwritten, whether unset fields are cleared, or whether elevated/admin permissions are required for an SSO configuration change.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness: a single restated identifier carries zero information. Length is not the problem; the absence of any substantive first sentence is.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation of sensitive SSO configuration with an undocumented free-form body and no output schema, the description supplies none of the context an agent needs. A caller cannot know what a valid payload looks like or what effect the call has on existing SSO state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, a free-form `body` of anyOf object/null with 0% schema description coverage, so the schema conveys nothing about accepted fields. The description does not compensate at all, giving no indication of what keys the SSO settings payload expects.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the tool name reordered as snake_case ("api_settings_sso_update"), so it merely restates the identifier rather than stating what the update does. It does not distinguish this tool from the many nearby SSO siblings such as settings_sso_partial_update, settings_sso_update, or settings_sso_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. With both settings_sso_update and settings_sso_partial_update exposed, the absence of any routing hint leaves an agent with no basis for choosing between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_vulnerability_sla_partial_updateApi settings vulnerability sla partial updateD
api_settings_vulnerability_sla_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false and destructiveHint=false, but the description contributes nothing on top: it doesn't say what an SLA setting controls, what partial-update semantics apply to omitted fields, or whether changes take effect immediately on vulnerability due dates. With annotations present the bar is lower, yet the description is empty rather than merely thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short with no wasted prose, but this is under-specification rather than conciseness: a single snake_case token carries no front-loaded meaning for an agent. Length is not the problem; absence of content is.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A non-idempotent mutation on security SLA configuration with no output schema and no explanation of the payload or its effect leaves an agent unable to call it safely or verify success. Given the complexity of settings mutation, the description is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single 'body' parameter, which is an untyped object with additionalProperties true and a null default. The description does not name any of the likely fields (per-severity remediation deadlines, unit of time) or clarify whether an omitted body is a no-op, so nothing compensates for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the operation identifier repeated verbatim ('api_settings_vulnerability_sla_partial_update'), which is a tautology rather than an explanation. The name alone hints at a partial update of vulnerability SLA settings, so the intent is guessable, but the description adds no verb+resource statement of its own.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the sibling ciso_assistant_api_settings_vulnerability_sla_update (full update) or ciso_assistant_api_settings_vulnerability_sla_retrieve. No prerequisites, no exclusions, nothing an agent can act on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_settings_vulnerability_sla_retrieveApi settings vulnerability sla retrieveCRead-onlyIdempotent
api_settings_vulnerability_sla_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that — no note on what the SLA payload contains, whether it's a global or per-org config, or any auth/permission requirement, so it fails to earn credit beyond the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically short, but the single snake_case token is under-specification rather than conciseness — it conveys no information beyond the title already shown to the agent, so no sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-output-schema retrieve of vulnerability SLA settings, an agent still needs to know what the response represents and how it relates to sibling settings endpoints. The description supplies none of that, leaving the definition materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (empty object schema with additionalProperties=false), so there is nothing for the description to clarify. Baseline 4 applies since no parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw operation identifier 'api_settings_vulnerability_sla_retrieve' restated, which merely echoes the tool name. It hints at a resource (vulnerability SLA settings) but never states what is actually returned or what the tool accomplishes, and gives no differentiation from siblings like settings_vulnerability_sla_partial_update or settings_general_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of alternatives such as the sibling update/partial_update endpoints. An agent must infer everything 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.
ciso_assistant_api_settings_vulnerability_sla_updateApi settings vulnerability sla updateDIdempotent
api_settings_vulnerability_sla_update
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered there. The description adds nothing beyond that — it does not say that this is a full replacement of the SLA configuration, what settings exist (e.g. severity-based day counts), or whether unspecified fields get reset, which is the exact gap an idempotent PUT-style tool needs to fill.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is under-specified rather than economical; there is no front-loaded statement of effect and no structure at all. Brevity here is a symptom of missing content, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even accounting for annotations and the absence of an output schema, the definition leaves the body payload entirely undocumented for a settings mutation with zero schema coverage. An agent would have to guess the configuration keys, which is a serious gap for a write tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the only parameter is an opaque, unconstrained 'body' object with additionalProperties=true and a null default. The description supplies no field names, no example payload, and no indication of what the body must contain, so an agent cannot construct a valid call from any available source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool identifier restated with underscores ('api_settings_vulnerability_sla_update'); it names a resource and an update action only implicitly via the name, adding no verb+object phrasing of its own. It does not distinguish this from close siblings like api_settings_vulnerability_sla_retrieve or api_settings_vulnerability_sla_partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is stated. Critically, the sibling api_settings_vulnerability_sla_partial_update exists and the description never explains why an agent would pick full update over partial update.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_batch_action_createApi solutions batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that: it does not say which action verbs the batch payload accepts, whether partial failure is atomic or per-object, or what permissions are needed for a mutation endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, but it is under-specified rather than concise — the sentence is too thin to be useful and contains no front-loaded scoping or routing detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the empty object schema plus annotations leave the agent without any notion of the accepted actions, target object type, or response shape. For a mutation endpoint in a large CRUD surface, the description should carry far more of that burden than one sentence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter count is zero, and the rules set a baseline of 4 when no parameters exist, so the description cannot be expected to document parameter meaning. The absence of any payload description is nonetheless notable given that a batch action realistically needs a body, but that gap lies in the schema rather than the prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence essentially restates the name "batch action create" with the generic word "objects"; it never says the objects are solutions (the CISO Assistant solution/entity-perimeter objects) nor what the action does. Against siblings like ciso_assistant_api_frameworks_batch_action_create or ciso_assistant_api_assets_batch_action_create, an agent gains no discriminating information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this bulk endpoint versus looping the per-object create/update/destroy siblings, what preconditions exist, or whether callers need bulk-edit permissions. Only a bare capability statement is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_cascade_info_retrieveApi solutions cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds nothing further – no hint about what the 'cascade' payload contains, whether it is scoped to deletions, or how large a response to expect. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but at two words plus a colon it is under-specified rather than concise – it reads like a truncated UI label. There is no front-loaded statement of what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, no parameter documentation, and hundreds of near-identical cascade_info siblings, the description supplies none of the context an agent needs to decide when to call it or how to interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, so the description must compensate by saying which entity the id refers to. It says nothing at all about the parameter, leaving the agent to guess whether it is a solution id, a cascade root id, or something else.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment that gestures at the operation without stating a verb or what object's cascade is being previewed. It adds a hint of 'preview' semantics beyond the name, but an agent cannot tell what data comes back or how it differs from the many other cascade_info siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool, when not to, or what alternatives exist (e.g., solutions_retrieve, solutions_object_retrieve, solutions_destroy). Nothing indicates whether this should be used before a delete, edit, or export.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_createApi solutions createC
API endpoint that allows solutions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, destructiveHint=false, idempotentHint=false, so the safety profile is known. The description adds nothing beyond that boilerplate: it does not say what a solution is, what the request body must contain, whether creation is idempotent or triggers side effects, or that no parameters are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no wasted words and the resource is front-loaded, so it is not bloated. However, its brevity comes from boilerplate rather than precision, and the one sentence it does contain is uninformative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create endpoint taking an untyped body with no output schema, an agent needs to know required fields, response shape, and permissions. None of that is present, and the description's 'viewed or edited' framing leaves the mutation semantics ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'body' parameter has 0% schema description coverage and is typed only as an unconstrained object, and the description offers no field names or format. With the schema providing essentially nothing, the description must compensate and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a generic Django REST Framework boilerplate line that restates the resource name ('solutions') with a vague compound verb ('viewed or edited'). It never states that this tool CREATES a solution, which is the actual operation implied by the tool name, so an agent cannot cleanly distinguish it from ciso_assistant_api_solutions_retrieve, _list, or _update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives, despite dozens of sibling solutions_* tools (list, retrieve, update, partial_update, destroy, batch_action). The phrase 'viewed or edited' actively suggests the wrong entry point for a create operation, offering no basis for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_data_location_processing_retrieveApi solutions data location processing retrieveCRead-onlyIdempotent
API endpoint that allows solutions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, yet the description states solutions can be "edited" through this endpoint. That claim is not only uninformative but conflicts with the read-only annotation and with the zero-parameter, additionalProperties:false schema that makes any write impossible. Nothing is said about what the response contains (presumably the allowed data-location-processing values).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not bloated, but every word is generic auto-generated filler that conveys no tool-specific information. Brevity here comes from under-specification rather than from tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, zero parameters and a large family of similar endpoints, the description needed to explain that this returns the selectable values for a solution's data-location-processing field. It supplies none of that, leaving an agent unable to predict the payload or its role in the API surface.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters (0 params, empty object schema), so there is nothing for the description to clarify beyond the schema. Baseline 4 applies; no parameter-level detail is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence "API endpoint that allows solutions to be viewed or edited" is generic DRF boilerplate that restates the resource name (solutions) without saying what this specific endpoint returns. It never mentions "data location processing" or that this is a choices/enumeration endpoint, so an agent cannot distinguish it from the near-identical sibling ciso_assistant_api_solutions_data_location_storage_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this rather than the sibling enum endpoints, the solutions_list/retrieve tools, or the main solutions_retrieve. The only implied usage comes from the word "viewed", which is enough to hint at a read but not to route between alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_data_location_storage_retrieveApi solutions data location storage retrieveCRead-onlyIdempotent
API endpoint that allows solutions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, yet the description says the endpoint allows solutions 'to be viewed or edited', implying a write capability that the annotations deny. Nothing is said about the response shape (a choices/enumeration list) that would help an agent use it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but that brevity comes from boilerplate rather than from distilled information; the one sentence it does contain is partly misleading ('or edited').
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description carries the full burden of explaining what the retrieve returns (enum options for storage location). It supplies none of that, so an agent cannot know 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline there is nothing for the description to disambiguate. The empty schema is self-explanatory and the description neither helps nor hurts here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate that restates the name: 'API endpoint that allows solutions to be viewed or edited.' It never says what the endpoint actually returns (presumably the allowed storage-location values for solutions) or how it differs from the near-identical sibling ciso_assistant_api_solutions_data_location_processing_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus the sibling data_location_processing endpoint or the general solutions_retrieve/list tools. The agent gets no condition that selects this tool over any other.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_destroyApi solutions destroyDDestructiveIdempotent
API endpoint that allows solutions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, readOnlyHint=false, and openWorldHint=true, but the description frames the tool as 'viewed or edited', implying a safe read/update rather than an irreversible delete. It also omits what gets deleted, whether deletion cascades to linked objects, and required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no padding, so it is structurally efficient — but efficiency is wasted because the single sentence conveys the wrong operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world mutation with no output schema and an undocumented parameter, the description should state irreversibility, cascade effects, and prerequisites. It instead leaves the agent with the impression this is a view/edit endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required 'id' parameter has 0% schema description coverage, and the description adds nothing about its expected format (UUID string?) or how to obtain it. The description must compensate here and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name and annotations say DELETE/destroy of a solution, but the description says it 'allows solutions to be viewed or edited', which describes a retrieve/update endpoint rather than a deletion. The verb+resource is present but claims the wrong operation, so an agent could misidentify what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this versus ciso_assistant_api_solutions_update, _partial_update, _retrieve, or _list. Sibling tools cover those operations explicitly, so the absence of any routing signal here is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_dora_alternative_providers_identified_retrieveApi solutions dora alternative providers identified retrieveCRead-onlyIdempotent
API endpoint that allows solutions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, but the description claims the endpoint allows solutions to be 'viewed or edited', implying a write capability the annotations explicitly deny. Beyond that conflict it discloses nothing (no auth, scope, or payload behavior).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is not verbose. However, its brevity comes from being templated filler rather than front-loading meaningful information, so length is fine but content earns nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameters, and only read-only annotations, the description is the only place to explain what this DORA-specific retrieve returns. It instead gives a generic 'viewed or edited' line that leaves the agent unable to tell what data comes back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there are no parameter semantics for the description to explain. The baseline of 4 applies; nothing is misleading in this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is stale DRF boilerplate ('API endpoint that allows solutions to be viewed or edited') that never names the actual resource: DORA alternative providers identified. It restates a generic endpoint capability rather than stating what this retrieve call returns, so an agent cannot distinguish it from the many other solutions_* retrieve siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is mentioned. Given dozens of near-identical solutions_dora_* and solutions_* retrieve tools in the sibling list, an agent gets zero routing signal for choosing this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_dora_data_sensitiveness_retrieveApi solutions dora data sensitiveness retrieveCRead-onlyIdempotent
API endpoint that allows solutions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, yet the description says solutions may be "viewed or edited" — implying a write capability the annotations deny. Beyond that boilerplate, it discloses nothing about what the endpoint actually returns (presumably an enum/choice list) or its open-world behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, but it is generic framework boilerplate rather than a front-loaded statement of the actual purpose. Brevity without substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameters, and no useful annotations about return shape, the description is the only place an agent could learn what this endpoint yields — and it does not say. For a choice-lookup endpoint in a large DORA solution surface, that leaves the agent guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify and the baseline of 4 applies. The description neither helps nor hurts here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only says "allows solutions to be viewed or edited" — it never mentions DORA, data sensitiveness, or that this returns the selectable values for that specific solution field. It fails to differentiate from the many near-identical siblings such as ciso_assistant_api_solutions_dora_reliance_level_retrieve or ciso_assistant_api_solutions_dora_substitutability_retrieve, so an agent cannot tell which field-specific endpoint to pick without decoding the tool name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus solutions_retrieve, solutions_list, or the sibling dora_* field endpoints. The only hint of usage comes from the tool name, not the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_dora_discontinuing_impact_retrieveApi solutions dora discontinuing impact retrieveCRead-onlyIdempotent
API endpoint that allows solutions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and idempotentHint=true, but the description says the endpoint allows solutions to be 'viewed or edited', implying mutation. That directly contradicts the read-only annotation and is the only behavioral claim the description makes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short, front-loaded sentence, so there is no bloat. But brevity here comes from boilerplate rather than precision — the sentence is generic template text that adds nothing specific to this endpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place an agent could learn that this returns the DORA discontinuation-impact assessment for solutions. It omits that entirely, so the definition is incomplete for its one job.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics for the description to explain. Baseline 4 applies; the empty schema is self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'allows solutions to be viewed or edited' is generic DRF boilerplate that never mentions DORA, discontinuation impact, or the fact that this is a field-scoped retrieval endpoint. Nothing distinguishes it from the dozens of sibling `solutions_*` tools, so an agent cannot tell what resource or attribute it returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the alternative (e.g. `ciso_assistant_api_solutions_retrieve` for the full object) and no prerequisites. The only hint of scope is the tool name itself, which the description does not reinforce or explain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_dora_has_exit_plan_retrieveApi solutions dora has exit plan retrieveDRead-onlyIdempotent
API endpoint that allows solutions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, but the description says the endpoint allows solutions 'to be viewed or edited,' implying mutation capability. That directly contradicts the read-only annotation and gives the agent a misleading behavioral profile. No additional useful context about the retrieve behavior is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but it is generic boilerplate that does not front-load the specific resource or purpose. Brevity comes at the cost of under-specification rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the retrieve returns, likely the available values or status for the DORA 'has exit plan' field. Instead it gives only a generic 'viewed or edited' sentence, leaving the agent unable to understand the endpoint's actual data or role.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there are no parameter semantics to explain. Per the baseline for parameterless tools, a 4 is appropriate; the description neither helps nor harms here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it is an 'API endpoint' for viewing or editing 'solutions' and never mentions the DORA 'has exit plan' field that the tool name specifically identifies. It restates the boilerplate endpoint purpose without distinguishing this retrieve endpoint from any sibling solution or DORA lookup tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint, what it retrieves, or how it differs from sibling endpoints such as ciso_assistant_api_solutions_retrieve or the other DORA solution field retrievers. An agent is left to guess from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_dora_ict_service_type_retrieveApi solutions dora ict service type retrieveCRead-onlyIdempotent
API endpoint that allows solutions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 by structured data. The description adds only the boilerplate "viewed or edited," which is imprecise for a read-only retrieve and conveys nothing about the payload (a set of DORA ICT service type options).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler verbosity, but the sentence is pure framework boilerplate rather than front-loaded substance. Brevity here reflects emptiness rather than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place an agent could learn that this returns the enumerated DORA ICT service type values for solutions. It never says what is returned or how to use those values, leaving a significant gap for an otherwise simple call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. No misleading parameter hints are present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that an endpoint lets "solutions" be "viewed or edited," which restates the tool name's resource without ever mentioning DORA ICT service type, the actual thing retrieved. It is indistinguishable from the dozens of sibling *_retrieve choice/enum endpoints (e.g. solutions_dora_reliance_level_retrieve, solutions_dora_substitutability_retrieve).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this, what it returns, or how it differs from the many adjacent DORA solution-metadata retrieve tools. The generic "viewed or edited" phrasing gives the agent nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_dora_non_substitutability_reason_retrieveApi solutions dora non substitutability reason retrieveCRead-onlyIdempotent
API endpoint that allows solutions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The phrase 'viewed or edited' implies a write capability while annotations declare readOnlyHint=true, destructiveHint=false and idempotentHint=true, directly conflicting with the declared behavior. Beyond that conflict, the description adds no behavioral context whatsoever (no auth needs, no indication that this returns an enumeration/choice set rather than a record).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so it is concise and front-loaded. However, it is boilerplate that conveys almost nothing, so brevity comes at the cost of usefulness rather than from efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place an agent could learn what this endpoint returns (presumably the allowed values for the DORA non-substitutability reason field on solutions). It says nothing about the return value, the DORA domain, or how it differs from the neighbouring choice-value endpoints, leaving the tool effectively opaque.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema takes zero parameters, so there is nothing for the description to clarify and the baseline of 4 applies. One could ask why a 'retrieve' has no identifier, but that is a schema-design question rather than a description gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic DRF boilerplate: 'allows solutions to be viewed or edited' names the resource but neither the operation actually performed nor the DORA 'non substitutability reason' concept in the name. It fails to distinguish this tool from the many sibling retrieve tools (e.g., ciso_assistant_api_solutions_retrieve, ..._dora_substitutability_retrieve) and even suggests an edit capability the tool does not have.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the DORA non-substitutability context, and no routing to alternatives such as solutions_retrieve or dora_substitutability_retrieve. An agent has no basis to choose this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_dora_reintegration_possibility_retrieveApi solutions dora reintegration possibility retrieveCRead-onlyIdempotent
API endpoint that allows solutions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false) already establish a safe, repeatable read, and the description adds nothing about what is read. Worse, the boilerplate phrase 'or edited' implies write capability that conflicts with readOnlyHint=true. No disclosure of what data is fetched or how the values are shaped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, so it is not bloated, but the opening 'API endpoint that allows' is filler and the one clause it contains is uninformative. Being terse here reflects under-specification rather than economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description is the only place to explain what a 'reintegration possibility' value looks like and where it comes from; it does none of that. The tool is effectively opaque apart from its name and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics for the description to explain. Baseline 4 applies because nothing is left ambiguous on input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the generic DRF template 'allows solutions to be viewed or edited' and never says what the endpoint actually returns. It does not mention DORA, 'reintegration possibility', or any distinction from siblings such as ciso_assistant_api_solutions_retrieve or ..._dora_substitutability_retrieve. An agent cannot tell this apart from dozens of other solutions endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no routing to an alternative. Given dozens of near-identically named solutions/dora_* siblings, the agent has no basis for choosing this tool over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_dora_reliance_level_retrieveApi solutions dora reliance level retrieveCRead-onlyIdempotent
API endpoint that allows solutions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows solutions to be 'viewed or edited', while annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false. This implies write capability that does not exist and misleads the agent about mutation side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no bloat, but the brevity comes from under-specification rather than from efficient information delivery.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place an agent could learn that this returns the enumerated DORA reliance-level options for solutions. It says nothing about the returned values or their relevance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics for the description to carry. The baseline for a 0-param tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is boilerplate ('API endpoint that allows solutions to be viewed or edited') that never mentions DORA reliance level, the 'solutions' resource in a meaningful sense, or that this returns a set of choices. It restates a generic CRUD notion rather than the tool's specific verb and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this versus the many sibling solution endpoints (e.g. ciso_assistant_api_solutions_retrieve, ciso_assistant_api_solutions_dora_substitutability_retrieve). The only implicit cue is the 'retrieve' suffix in the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_dora_substitutability_retrieveApi solutions dora substitutability retrieveCRead-onlyIdempotent
API endpoint that allows solutions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows solutions to be "viewed or edited", but annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false. Advertising an edit capability on a read-only retrieve endpoint is a direct contradiction and could lead an agent to attempt mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is concise. However, the brevity comes from boilerplate rather than precision, and the second half of the sentence is actively misleading rather than earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations explaining what a DORA substitutability look-up returns, the description must carry the load and does not. An agent learns nothing about the returned value set or why this field matters for DORA third-party risk.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4 and there is nothing for the description to disambiguate. No penalty is warranted, though the description adds no value here either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint that allows solutions to be viewed or edited" is generic DRF boilerplate that restates the resource (solutions) but never says what this endpoint actually returns. It does not mention DORA substitutability at all, so it cannot be told apart from the many sibling `solutions_dora_*_retrieve` and `solutions_*_retrieve` endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus sibling DORA field endpoints (e.g. `dora_non_substitutability_reason_retrieve`, `dora_reliance_level_retrieve`) or the generic `solutions_retrieve`. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_export_csv_retrieveApi solutions export csv retrieveCRead-onlyIdempotent
API endpoint that allows solutions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The phrase 'viewed or edited' implies a write capability, directly conflicting with the readOnlyHint=true and destructiveHint=false annotations on a GET export endpoint. Nothing is said about CSV formatting, file size, encoding, or auth requirements, so the description adds no usable behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not bloated, but the sentence is boilerplate that carries no useful information. Brevity without content is not the same as well-structured concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place to learn what this call produces, and it says nothing about the CSV payload, its columns, or its scope. For an export endpoint this is a complete miss.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; there is no parameter semantics for the description to elaborate. The description neither helps nor harms here, but nothing about scope or filtering is implied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it 'allows solutions to be viewed or edited,' which restates a generic CRUD endpoint rather than naming the actual operation. The tool name and title indicate a CSV export retrieval, yet the description never mentions CSV, export, or retrieval, so an agent cannot confirm what the call returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. The obvious alternatives in the sibling list — ciso_assistant_api_solutions_export_xlsx_retrieve, ciso_assistant_api_solutions_list, and ciso_assistant_api_solutions_retrieve — are not referenced, so the agent has no basis for choosing CSV export over XLSX or a plain list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_export_xlsx_retrieveApi solutions export xlsx retrieveDRead-onlyIdempotent
API endpoint that allows solutions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The phrase 'viewed or edited' implies a write capability, directly conflicting with the readOnlyHint=true annotation on a GET export endpoint. The description also fails to say what the export produces (an XLSX binary payload) or any auth/size constraints, adding nothing while introducing a misleading claim.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so structure is not a problem. However, the sentence is boilerplate that conveys no usable information, so its brevity is under-specification rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only channel for telling the agent what this endpoint returns. Instead it offers a generic view/edit sentence, leaving the agent unable to tell that this returns a downloadable XLSX of solutions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to explain and the baseline of 4 applies. Nothing in the description contradicts the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a generic DRF boilerplate string that does not state the actual operation. The tool name says 'export_xlsx', yet the description says solutions may be 'viewed or edited', which neither names the export behavior nor distinguishes it from siblings such as ciso_assistant_api_solutions_export_csv_retrieve or ciso_assistant_api_solutions_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. No indication of when to prefer XLSX export over the CSV export or the plain list endpoint, and no prerequisites or scoping constraints are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_listApi solutions listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| limit | No | ||
| owner | No | ||
| assets | No | ||
| offset | No | ||
| ref_id | No | ||
| search | No | ||
| ordering | No | ||
| contracts | No | ||
| is_active | No | ||
| max_pages | No | ||
| criticality | No | ||
| provider_entity | No | ||
| storage_of_data | No | ||
| filtering_labels | No | ||
| dora_has_exit_plan | No | ||
| dora_reliance_level | No | ||
| data_location_storage | No | ||
| dora_ict_service_type | No | ||
| dora_substitutability | No | ||
| dora_data_sensitiveness | No | ||
| data_location_processing | No | ||
| dora_discontinuing_impact | No | ||
| dora_reintegration_possibility | No | ||
| dora_non_substitutability_reason | No | ||
| dora_alternative_providers_identified | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing usable beyond that — no mention of pagination (limit/offset/max_pages are present in the schema), filtering behavior, or result shape; the 'serializer context' phrasing is internal jargon an agent cannot act on.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no wasted clauses, but the brevity comes from under-specification rather than efficiency — the single sentence conveys an implementation detail instead of the tool's contract.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 27-parameter, no-output-schema list endpoint needs substantial description to be callable; this one supplies nothing about filtering, pagination, or ordering semantics. Against this complexity level the description is wholly inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 27 parameters with 0% schema description coverage, and the description explains none of them. Filter fields such as search, ordering, is_active, criticality, and the many dora_* filters are completely undocumented in both schema and description, so the description fails the burden it carries here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal Django implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does for a caller. An agent cannot tell from this that it lists 'solutions' (third-party/provider solutions) or how it differs from siblings like ciso_assistant_api_solutions_retrieve or ciso_assistant_api_solutions_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives among the many solutions_* siblings, and no prerequisites or pagination context. The only implied usage is 'list', which the name already conveys.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_object_retrieveApi solutions object retrieveDRead-onlyIdempotent
API endpoint that allows solutions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says solutions can be 'edited', which directly contradicts the readOnlyHint=true and destructiveHint=false annotations. It adds no useful behavioral context about the lookup or return value beyond what the annotations already provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no padding, but it is generic boilerplate rather than front-loaded, actionable information. Its brevity does not compensate for its ambiguity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter retrieve tool, the description omits key context: what the id refers to, what kind of solution object is returned, and how this differs from sibling list/retrieve endpoints. Annotations cover safety, but the description remains incomplete for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter has 0% schema description coverage, and the description never explains that id identifies a specific solution. The parameter name 'id' is somewhat self-evident, but no format or lookup semantics are added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('solutions') but the verb is ambiguous: 'viewed or edited' does not clearly identify a retrieve operation. It also fails to distinguish this tool from sibling tools such as ciso_assistant_api_solutions_retrieve or ciso_assistant_api_solutions_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, and no mention of the required id or retrieval context. The phrase 'viewed or edited' is actively misleading because the annotations declare this as read-only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_partial_updateApi solutions partial updateD
API endpoint that allows solutions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true, and idempotentHint=false, so the agent knows it is a non-destructive mutation. The description adds nothing beyond that—it doesn't explain partial update semantics (only provided fields changed), what happens to omitted fields, or any permission requirements. The word 'viewed' also weakly conflicts with the mutation context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words, which is structurally fine. However, it is under-specified rather than genuinely concise, so it earns only a minimum-viable score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a partial-update endpoint in a very large API surface, the description is far too thin. It omits partial-update behavior, the body structure, the meaning of 'solution' in this system, and any distinction from sibling CRUD endpoints—and there is no output schema to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 the two parameters. It doesn't clarify that 'id' identifies the solution or that 'body' carries the partial fields to update, leaving the agent to guess from a generic anyOf object schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates a generic DRF endpoint ('API endpoint that allows solutions to be viewed or edited') rather than stating that this is a partial update (PATCH) operation on a solution. It doesn't distinguish this from siblings like solutions_update, solutions_retrieve, or solutions_create, and 'viewed' is misleading for an update tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given: it doesn't say when to use partial_update instead of solutions_update, solutions_create, or solutions_retrieve. The only hint is the generic 'edited' wording, which doesn't route an agent among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_solutions_retrieveApi solutions retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description does add genuine behavioral context beyond them: fields related to unauthorized resources are masked in the response, which affects how the agent should interpret the payload. However, it does not say how masking is determined or whether it can vary per caller.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no waste, but the brevity is under-specification rather than efficiency. Nothing is front-loaded about the resource being retrieved.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does not say what object is returned, its shape, or what happens on a missing/unauthorized id. For a by-id retrieve tool, the only substantive information is the masking note, which leaves the definition materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required 'id' parameter has 0% schema description coverage and no type/format hint (string, likely UUID), and the description adds nothing about it. With only one parameter and no compensating detail, the definition leaves the identifier's expected form ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it returns 'a single object' and never names the resource. The object identity ('solutions') must be inferred from the tool name/title, so an agent cannot distinguish it by description from the many sibling *_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus solutions_object_retrieve, solutions_list, or solutions_cascade_info_retrieve. The word 'single' hints at a by-id fetch, but no conditions 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.
ciso_assistant_api_solutions_updateApi solutions updateDIdempotent
API endpoint that allows solutions to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing on top: it doesn't say that part of the record is replaced vs. merged, whether the full object is required, or anything about permissions, so it contributes zero beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so there is nothing to trim. The problem is under-specification rather than verbosity: the one sentence it spends is spent on an ambiguous verb.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations beyond the standard hints, no output schema, and a free-form body parameter with 0% schema coverage, the description supplies none of the information needed to call it correctly, such as what the body may contain or what happens on success.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description says nothing about either parameter. The critical gap is "body": an opaque anyOf object with no defined properties, so an agent has no idea what fields can be updated or in what shape. This is exactly the case where the description must compensate and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (solutions) but the verb is muddled: "viewed or edited" describes a viewset, while this specific tool is an update operation. It gives no way to distinguish it from siblings ciso_assistant_api_solutions_retrieve or ciso_assistant_api_solutions_partial_update, so it reads as a restatement of the title rather than a statement of what this endpoint does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus the retrieve, partial_update, or create siblings. The phrase "viewed or edited" actively blurs the choice between reading and writing, so an agent gets no routing signal at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_stored_libraries_batch_action_createApi stored libraries batch action createD
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the description's main job is to explain what the batch payload does. It adds nothing: no list of supported actions, no all-or-nothing semantics, no failure behavior, no note that the endpoint is non-idempotent and re-running may duplicate effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no wasted words, and nothing is buried. The problem is under-specification rather than verbosity, so it is efficient but content-free.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent mutation endpoint with a free-form body and no output schema, the description should explain the action model and payload contract. It explains neither, so an agent cannot call this correctly without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter is an untyped free-form `body` object with 0% schema description coverage and 0 required fields. The description supplies no hint about the expected payload shape — action verb, object IDs, or selection criteria — leaving the agent with no way to construct a valid call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence restates the name's generic skeleton ("batch action on multiple objects") without naming the resource actually being acted on — stored libraries. With roughly a hundred sibling *_batch_action_create tools sharing this identical wording, an agent cannot tell which entity this operates on from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this versus the per-object create/update/destroy siblings, nor what prerequisites (permissions, loaded library state) apply. The word "batch" implies multi-object use but no alternative or exclusion is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_stored_libraries_cascade_info_retrieveApi stored libraries cascade info retrieveCRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 no context beyond that — nothing about what the cascade preview returns, what depends on a library, or how expensive/whether it can be large (openWorldHint=true).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here is under-specification rather than conciseness: two words and a colon convey essentially no information. There is nothing front-loaded because there is nothing substantive to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, the description would need to explain the cascade-preview concept and return shape to be usable. It omits both, and nothing in the sibling set disambiguates it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter is bare "id" with no type-level documentation. The description never clarifies whether this is a stored library id, nor what form it takes, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment, not a statement of what the tool does. It gestures at a preview of cascade behavior for a stored library but never names the verb or resource, and against dozens of sibling *_cascade_info_retrieve tools it gives no basis for telling this one apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternatives such as stored_libraries_retrieve, stored_libraries_object_retrieve, or stored_libraries_tree_retrieve. The agent must infer entirely from the tool name that this is a pre-deletion/pre-unload impact check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_stored_libraries_content_retrieveApi stored libraries content retrieveDRead-onlyIdempotent
api_stored_libraries_content_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 covered structurally. However, the description adds nothing beyond that — not whether the returned content is large, whether the library must be loaded first, or what permissions apply. The openWorldHint=true is never explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but brevity here reflects under-specification rather than economy: a single echoed identifier token with zero informational content. There is nothing front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieval tool with no output schema and no parameter documentation, the description carries the full burden of explaining what comes back and what the id identifies — and it does neither. An agent cannot invoke this correctly without inspecting the live API.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required `id` parameter, and the description does not compensate at all — it never states whether `id` is a stored library UUID, a loaded library id, or an object type key. The agent is left to guess the identifier domain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name ('api_stored_libraries_content_retrieve') with no added language. It conveys only that something is being retrieved from stored libraries, but not what 'content' means (YAML payload, framework objects, tree nodes) or how it differs from the many sibling retrieve tools such as stored_libraries_retrieve or stored_libraries_tree_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to call this tool, what the `id` refers to, or which sibling to prefer for library metadata versus library content. With dozens of near-identical *_retrieve siblings, an agent has no basis for choosing this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_stored_libraries_createApi stored libraries createD
api_stored_libraries_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the basic safety profile is known without the description. The description adds nothing beyond that — it does not say what record is produced, whether server-side side effects occur, what permissions are required, or what a repeated call does.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than conciseness: a bare slug with no front-loaded purpose statement. There is no wasted sentence because there is effectively no content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A create operation with a completely opaque body parameter, no output schema, and no annotations explaining outcome — the description supplies none of the context an agent needs. Nothing indicates what object type, locale, or provider context a stored library requires.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'body' parameter is an untyped, free-form object with no properties enumerated. The description supplies no parameter meaning at all, so the agent cannot tell what payload shape is expected; this is precisely the case where the description must compensate and fails to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation slug 'api_stored_libraries_create', which merely restates the tool name and title in machine form. It gives no plain-language statement of what is created or what a 'stored library' is, and does nothing to distinguish this from siblings like stored_libraries_import_create, upload_create, or unload_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no preconditions, and no mention of any alternative. Given the many near-identical stored_libraries siblings (import, upload, unload, update, partial_update), an agent has no basis in the description for choosing this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_stored_libraries_destroyApi stored libraries destroyDDestructiveIdempotent
api_stored_libraries_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that—no statement of what is destroyed, whether a loaded library's dependent objects cascade, or whether the deletion is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single identifier-length string with no waste, but the brevity comes from under-specification rather than efficiency—there is no front-loaded verb+object statement an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world mutation with no output schema and no documented parameter, the description should say what disappears and under what conditions. Annotations cover the destructive flag but nothing about consequences or prerequisites is communicated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the sole required parameter 'id' is undocumented. The description never clarifies that the id is the stored library's identifier versus a loaded-library or object id, which matters given the many *_destroy siblings in this API.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the operation identifier 'api_stored_libraries_destroy', restating the tool name rather than describing the action. Only the word 'destroy' hints at deletion of a stored library; nothing states what a stored library is or what gets removed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to call this versus alternatives such as ciso_assistant_api_stored_libraries_unload_create (which removes a loaded library) or the batch_action sibling. An agent must infer the distinction 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.
ciso_assistant_api_stored_libraries_import_createApi stored libraries import createD
api_stored_libraries_import_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, so the burden is somewhat lower, but the description adds nothing about what an 'import' does—what gets created, whether it overwrites a library, permissions or auth needed, or side effects. It also does not clarify the meaning of the free-form 'body' payload, which is central to this write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is under-specified rather than efficient; a single raw identifier carries no front-loaded purpose or usage information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world write tool with an untyped free-form body and no output schema, the description omits everything an agent needs: payload shape, effect of import, and prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters. The required 'id' and the opaque 'body' (anyOf object/null, additionalProperties true) are completely undocumented, and the description does not compensate at all—the agent has no way to know what belongs in body.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint identifier 'api_stored_libraries_import_create', which merely restates the tool name in snake_case. It hints at importing into stored libraries but gives no natural-language statement of the action, resource, or scope, and nothing distinguishes it from siblings like stored_libraries_upload_create or stored_libraries_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling (upload, create, batch_action) it replaces. The agent is left to infer everything 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.
ciso_assistant_api_stored_libraries_listApi stored libraries listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| urn | No | ||
| limit | No | ||
| locale | No | ||
| offset | No | ||
| search | No | ||
| version | No | ||
| ordering | No | ||
| packager | No | ||
| provider | No | ||
| is_custom | No | ||
| is_loaded | No | ||
| is_preset | No | ||
| is_update | No | ||
| max_pages | No | ||
| object_type | No | ||
| filtering_labels | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered. The description adds nothing actionable — pagination behavior, default page size, and what 'optimized data' actually changes in the payload are all unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here is under-specification rather than conciseness. The single sentence is not front-loaded with purpose and wastes its budget on framework internals.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, 17 undocumented optional parameters, and a description written for maintainers. An agent cannot form a correct call from this definition; it would have to guess which of the 17 filters exist and what they accept.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
17 parameters at 0% schema description coverage, and the description mentions none of them. Filters such as search, limit, offset, provider, packager, is_loaded, is_custom, object_type, filtering_labels, locale and version are completely undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence describes an internal implementation detail ('Override the list method to inject optimized data into the serializer context') rather than telling the agent what the tool returns. It never says it lists stored libraries, nor distinguishes it from siblings like ciso_assistant_api_loaded_libraries_list or ciso_assistant_api_mapping_libraries_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance. Given dozens of sibling list endpoints, the agent is left to guess entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_stored_libraries_locale_retrieveApi stored libraries locale retrieveDRead-onlyIdempotent
api_stored_libraries_locale_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered by structured data. The description adds nothing at all beyond that — no note about what is returned, whether it depends on installed libraries or locale settings, or any auth/scope constraint. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from under-specification rather than efficiency: a single underscore-joined token that duplicates the title and front-loads no information an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema retrieve in an API with an enormous surface, the description should at minimum say what resource is returned (localized labels/translations for stored libraries?). It provides nothing, leaving the return shape and the meaning of 'locale' entirely unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and schema coverage is 100%, so there is nothing for the description to disambiguate at the parameter level. Baseline 4 applies by rule, though the description earns no credit of its own here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is 'api_stored_libraries_locale_retrieve', a mechanical restatement of the tool name with no verb, no plain-language resource, and no hint of what a stored-library locale payload is. Among hundreds of similarly named siblings, an agent cannot distinguish this from stored_libraries_content, stored_libraries_tree, or stored_libraries_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus any alternative, no prerequisites, and no stated context. The reader is left to infer everything from the endpoint path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_stored_libraries_object_retrieveApi stored libraries object retrieveDRead-onlyIdempotent
api_stored_libraries_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered by structured data. The description contributes nothing beyond that — no mention of required permissions, 404 behaviour on unknown ids, or response shape — so it adds zero behavioral context on top of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from under-specification rather than efficient phrasing: a single token that duplicates the name earns no place. Conciseness short of any informative content is not a virtue.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read endpoint in a very crowded sibling namespace, the definition supplies nothing an agent needs: no notion of what entity is fetched, what the id is, or how it relates to stored_libraries_retrieve/list. Output schema and annotation coverage cannot compensate because the ambiguity is about identity and selection, not safety.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required 'id' string parameter with 0% schema description coverage, and the description does not identify what the id refers to (stored library UUID? object type key? slug?). The implicit 'retrieve by id' reading is inferable from the name, but nothing clarifies the identifier's expected format or source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the operation ID 'api_stored_libraries_object_retrieve' restated as prose, which is a tautology of the tool name. It never states in plain language what is being retrieved — a stored library object by id — nor distinguishes it from siblings like stored_libraries_retrieve or stored_libraries_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus the many adjacent siblings (stored_libraries_retrieve, stored_libraries_object_type_retrieve, stored_libraries_content_retrieve, stored_libraries_tree_retrieve). The agent is left to guess purely from the identifier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_stored_libraries_object_type_retrieveApi stored libraries object type retrieveCRead-onlyIdempotent
api_stored_libraries_object_type_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds nothing beyond that — no statement of what metadata is returned, whether it is cached, or what 'object_type' keys look like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token with no wasted words, but that is under-specification rather than conciseness — there is no front-loaded statement of intent because there is no statement at all. A one-line explanation of the returned object-type metadata would have cost nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The call itself is trivial (no params, no output schema), but the agent is left with no idea what an 'object type' is in this domain or what the response contains. Given an extremely dense sibling namespace, the description should at minimum disambiguate this endpoint from the other stored-libraries metadata endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty with additionalProperties=false, so there is no parameter semantics for the description to explain. Baseline 4 applies; the description neither helps nor hurts here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the raw operation identifier repeated verbatim ('api_stored_libraries_object_type_retrieve'), with no verb+resource phrasing beyond what the name already encodes. An agent cannot tell from this what an 'object type' of a stored library actually is, nor how it differs from siblings like ciso_assistant_api_stored_libraries_provider_retrieve or ciso_assistant_api_stored_libraries_locale_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance anywhere in the text. In a sibling set containing dozens of near-identically named stored-library retrievers, nothing steers an agent toward this one over the others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_stored_libraries_partial_updateApi stored libraries partial updateD
api_stored_libraries_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, so the safety profile is covered structurally. The description adds nothing beyond that: it does not say what is mutated, whether unspecified fields are preserved (the key semantic of a PATCH), whether permissions are required, or what the response returns. No contradiction, but zero added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but this is under-specification rather than conciseness: a single identifier fragment with no front-loaded statement of action, scope, or constraints. There is no wasted sentence, but there is also no informative one.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a free-form untyped body, no output schema, and dozens of near-identical sibling tools, the definition is completely inadequate. An agent cannot determine the payload shape or expected effect before invoking it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the 'body' parameter is a bare anyOf object with additionalProperties=true — effectively untyped. The description must compensate for that gap and instead supplies nothing, so an agent has no way to know what keys the patch body accepts or what 'id' identifies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's own snake_case identifier restated verbatim ('api_stored_libraries_partial_update') with no natural-language verb or resource statement. It only signals 'partial update of something called stored libraries' because the name leaks that much; there is no explanation of what a stored library is or what fields can be patched.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this versus siblings such as ciso_assistant_api_stored_libraries_update (full update), ..._create, ..._upload_create, or ..._import_create. The distinction between partial_update and update is the single most important selection signal here and it is left entirely to the agent to infer from naming conventions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_stored_libraries_provider_retrieveApi stored libraries provider retrieveCRead-onlyIdempotent
api_stored_libraries_provider_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 nothing beyond that — it doesn't say what the response contains (a list of provider keys?), whether it's static choice metadata, or whether openWorldHint implies external lookups.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is nothing to trim, but this is under-specification rather than conciseness: a lone identifier-shaped token gives the reader no front-loaded intent. Any single sentence of real content would have improved it at no cost.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only, idempotent lookup with full annotation coverage and no output schema, an agent needs almost nothing more. The remaining ambiguity about the return shape is minor and partly inherent to a choice/enumeration endpoint. This score reflects adequacy, not strength — the description itself is still empty.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the empty input schema is the complete contract and the description carries no parameter burden. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name restated verbatim ('api_stored_libraries_provider_retrieve') with no added phrasing. An agent can infer from the identifier that it retrieves a 'provider' value related to stored libraries, but there is no verb+resource statement and no differentiation from siblings such as stored_libraries_locale_retrieve or stored_libraries_object_type_retrieve, which follow the identical pattern.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisites, or alternative-selection guidance is given. The agent must guess whether this is the endpoint that enumerates valid 'provider' choices for stored libraries or something else entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_stored_libraries_retrieveApi stored libraries retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint), so the bar is lower. The description does add genuine value beyond them by disclosing that unauthorized related fields are masked in the response, though it doesn't say what makes a field unauthorized or which fields are affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, but its brevity comes from omission rather than precision. It is efficiently worded yet too thin to orient an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter retrieve with no output schema, the description leaves the resource identity, the id format, and the masking rules undefined. Given the dense cluster of sibling retrieve variants, an agent lacks the information needed to select and call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required parameter, so the description must compensate and does not; the meaning, format, and source of the "id" string are never explained. The trivial schema keeps it from being a 1, but no semantic information is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Return a single object" restates the retrieve semantics already implied by the tool name and never names the resource (a stored library). The only substantive content, "unauthorized related fields masked," describes response behavior rather than what is being fetched, so an agent cannot tell this apart from siblings like stored_libraries_object_retrieve or stored_libraries_content_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all, despite a large family of near-identical siblings (list, object_retrieve, retrieve, content_retrieve, tree_retrieve). Nothing states that this fetches one library by id, nor when to prefer object_retrieve or content_retrieve instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_stored_libraries_tree_retrieveApi stored libraries tree retrieveDRead-onlyIdempotent
api_stored_libraries_tree_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered by structured data. The description adds nothing beyond them: no statement about what the tree contains, depth, or whether it is scoped to one library.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it is under-specified rather than efficient. The single token is not front-loaded information; it carries no content an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and an undocumented `id`, the description should explain what the returned tree represents and what identifier is expected. It supplies neither, leaving an agent unable to invoke this correctly with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter `id` with 0% schema description coverage, and the description says nothing about it. An agent cannot tell whether `id` refers to a stored library, a node, or an object type, which is a critical ambiguity for a single-parameter lookup.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name/endpoint path, not an explanation. An agent can infer only from the name that it retrieves some kind of tree for stored libraries, and there is no differentiation from siblings like stored_libraries_content_retrieve, stored_libraries_retrieve, or stored_libraries_cascade_info_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many closely named siblings (content_retrieve, object_retrieve, cascade_info_retrieve, list). Nothing states preconditions or the intended scenario for a tree view.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_stored_libraries_unload_createApi stored libraries unload createD
api_stored_libraries_unload_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false and openWorldHint=true, but the description adds nothing about what is mutated, whether the unload is reversible, or what permissions/state are required. For a non-idempotent write operation with an opaque 'body' payload, this is a total absence of behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely short, but this is under-specification rather than conciseness — the single token is a machine-generated slug that conveys no information beyond the tool name itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world create operation with a required id and an opaque body and no output schema, the description should carry nearly the entire burden. Nothing is provided, so an agent cannot safely invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for 2 parameters. The required 'id' and the untyped free-form 'body' object are completely undocumented, and the description does not compensate in any way. An agent has no idea what to put in 'body'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation identifier 'api_stored_libraries_unload_create' restated verbatim, which is a tautology of the name/title. It gives no indication of what 'unload' does to a stored library, and does not distinguish this tool from siblings like stored_libraries_import_create, stored_libraries_upload_create, or stored_libraries_destroy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool, when not to, or which sibling to prefer. An agent cannot infer from 'unload' alone whether this is the inverse of import, a destructive removal, or an unloading into memory.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_stored_libraries_updateApi stored libraries updateDIdempotent
api_stored_libraries_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, idempotentHint=true, destructiveHint=false, openWorldHint=true, but the description adds zero behavioral context about what fields get overwritten, whether the id must exist, or return behavior. It carries no information beyond the structured metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because nothing is said; this is under-specification rather than conciseness. There is no front-loaded verb or resource statement to build on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint with an opaque pass-through body and no output schema leaves the agent unable to know what to send or what the effect will be. The definition is materially incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description explains neither the required 'id' nor the free-form 'body' object, which is entirely undocumented as to its accepted fields. With a fully untyped body payload, this is the place the description had to compensate and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name transliterated into snake_case ('api_stored_libraries_update'); it restates the identifier without stating what resource is updated or what the update does. An agent learns nothing it did not already read from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of the adjacent partial_update / create / destroy siblings, and no distinction from ciso_assistant_api_stored_libraries_update_retrieve or loaded_libraries_update.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_stored_libraries_upload_createApi stored libraries upload createD
api_stored_libraries_upload_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false, so the safety profile is partly covered. But the description adds nothing about upload semantics: what payload format is accepted, whether it is multipart, whether an existing library is replaced, or what errors occur. For a write operation whose only parameter is an untyped object, that silence is costly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is pure under-specification rather than efficient communication: a single snake_case echo of the tool name. Nothing is front-loaded because nothing informative is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutating upload endpoint with no output schema, an undocumented free-form body, and an extremely dense sibling namespace requires far more context than the name echo provides. An agent cannot safely or correctly call this tool from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single `body` parameter is an unconstrained object with 0% schema description coverage, and the description offers no hint of what the body should contain. The agent has no source of meaning for the only input at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the operation ID "api_stored_libraries_upload_create" restated in prose form. It implies an upload into stored libraries but never states in plain language what the tool does, and it does not distinguish itself from close siblings like stored_libraries_import_create or stored_libraries_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is mentioned. With siblings such as import_create, create, and content_retrieve in the same resource family, the agent is left to infer the upload path entirely from the raw identifier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_nodes_batch_action_createApi task nodes batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare that this is a non-idempotent, non-destructive write with open-world scope, so the description could have added value by naming supported actions (delete, update fields, etc.) or side effects. It adds nothing beyond annotations, leaving the mutation semantics opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded sentence with no filler. It is efficient, though the terseness is the source of its under-specification rather than a virtue.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameter documentation, and generic annotations, the description carries the full burden and does not say which batch operations exist or what gets mutated. For a write endpoint on task nodes, this leaves an agent unable to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool exposes zero parameters, so per the baseline there is little for the description to clarify and the schema (additionalProperties: false) fully defines the argument surface. The description neither helps nor misleads here, but it also does not flag that no payload is accepted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Perform a batch action on multiple objects" restates the title almost verbatim and never says which objects (task nodes) or which actions are available. An agent must infer the resource from the tool name and gains nothing about what a "batch action" does here.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this instead of the sibling ciso_assistant_api_task_nodes_update, task_nodes_partial_update, or task_nodes_destroy, and no mention of what inputs a batch invocation requires. Usage is left entirely to inference from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_nodes_cascade_info_retrieveApi task nodes cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 covered. The description adds nothing about what a "cascade preview" returns or what cascade is being simulated (deletion impact, node subtree, permissions?), leaving the actual behavior opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not concise in a useful sense: it is an unterminated fragment with a trailing colon that reads like a truncated docstring. There is no front-loaded statement of purpose because the purpose is never stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that produces a cascade preview (a non-trivial computed result) with no output schema, an undocumented id parameter, and no annotations explaining the return, the description leaves nearly every question an agent would have unanswered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter `id` with 0% schema description coverage, so the description carries the full burden — and it says nothing. It does not clarify whether `id` is a task node id, a task template id, or a folder id, nor what format is expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the fragment "Cascade preview:" plus a dangling colon. Combined with the tool name it hints at previewing cascade consequences for a task node, but it never states a verb+resource relationship plainly and does not distinguish it from the many sibling cascade_info_retrieve tools (journeys, folders, sso, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or how it differs from ciso_assistant_api_task_nodes_retrieve or the dozens of other cascade_info_retrieve endpoints. The agent must infer everything 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.
ciso_assistant_api_task_nodes_createApi task nodes createD
api_task_nodes_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, and openWorldHint=true, so the write/non-idempotent profile is known without the description. The description adds nothing beyond that — no mention of required permissions, what gets persisted, error behavior, or side effects on related objects. It does not contradict the annotations, but contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness: a single identifier-token with no front-loaded statement of purpose, action, or return. Brevity here earns nothing because there is no information to structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint whose only parameter is an opaque free-form body with no schema documentation and no output schema, the description should explain payload expectations and outcome. It supplies none of that, leaving the agent no basis to construct a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, 'body', an untyped anyOf object/null with 0% schema description coverage and no default semantics explained. The description provides no information about what the body must contain, what fields a task node requires, or what happens when body is null — the exact case where the description must compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw operation id "api_task_nodes_create" — a tautological restatement of the tool name. Only the substring "create" hints at a verb and "task_nodes" at a resource, so an agent must infer purpose entirely from the identifier. It does not distinguish this tool from numerous sibling create tools (task_nodes_batch_action_create, task_templates_create, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisites, or alternatives are stated. The word "create" implies a write, but nothing says how this differs from ciso_assistant_api_task_nodes_batch_action_create or ciso_assistant_api_task_nodes_update, nor what object type a task node belongs to. Any usage routing is left entirely to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_nodes_destroyApi task nodes destroyDDestructiveIdempotent
api_task_nodes_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, openWorldHint=true and readOnlyHint=false, so the safety profile is covered structurally. The description adds nothing beyond that: no statement about what is destroyed, whether children/cascade data goes with it, or whether the operation requires elevated permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness: the entire content is a snake_case identifier with no front-loaded verb or object in natural language. Nothing useful is communicated in the one fragment present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world mutation tool with an undocumented identifier parameter and no output schema, the description provides zero of the context an agent needs. It neither describes the target resource nor the consequence of calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is undocumented. The description does not say whether this is a task node UUID, a numeric PK, or a ref_id, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool slug restated verbatim ('api_task_nodes_destroy'), which only echoes the name and title. The word 'destroy' implies deletion, but nothing states what a task node is or what is removed, and no sibling (e.g. api_task_nodes_partial_update, api_task_nodes_remove_evidence_create) is distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no precondition (e.g. resolve existing task nodes, detach evidences first), and no mention of alternatives such as partial_update or remove_evidence. An agent has no basis for choosing this over its many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_nodes_evidences_listApi task nodes evidences listDRead-onlyIdempotent
api_task_nodes_evidences_list
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing on top of them - no mention of whether results are scoped to a task node, how evidences relate to revisions, or any pagination/ordering behavior despite exposing limit, offset, ordering and max_pages.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is only a handful of characters, but this is under-specification rather than conciseness - there is no front-loaded statement of purpose, scope, or return shape. The token count is low only because the description contains no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter paged listing endpoint with no output schema and no annotation explanation of return values, the description is wholly inadequate. An agent cannot determine what the call returns or how to page through it without guessing from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Six parameters with 0% schema description coverage and no parameter information in the description at all. The required 'id' is never explained (task node id? evidence id?), and limit/offset/search/ordering/max_pages are left completely opaque, so the description does nothing to close a significant documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name repeated ("api_task_nodes_evidences_list") with no added prose. An agent can only infer from the raw identifier that it lists evidences attached to a task node, and the snake_case slug is not even a grammatical statement of purpose. Nothing distinguishes it from siblings such as ciso_assistant_api_task_nodes_retrieve or ciso_assistant_api_evidences_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of the closely related alternatives (evidences_list, task_nodes_retrieve, task_nodes_remove_evidence). The sole hint is the word 'list', which only weakly implies a read/collection operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_nodes_listApi task nodes listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| past | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| due_date | No | ||
| ordering | No | ||
| max_pages | No | ||
| due_date__gt | No | ||
| due_date__lt | No | ||
| due_date__gte | No | ||
| due_date__lte | No | ||
| task_template | No | ||
| due_date__year | No | ||
| due_date__month | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds only an implementation note about serializer context, saying nothing about pagination, filtering behavior, ordering defaults, or what 'optimized data' means for the returned records.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no verbosity problem, but the one sentence is spent on internal framework detail rather than on the information the caller needs. Brevity here is under-specification dressed as conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 16-parameter, zero-required list endpoint with no output schema and no useful description is essentially undocumented. Nothing tells an agent how to paginate, what the due_date operator suffixes do, or what 'past' and 'task_template' filter on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 16 parameters (id, past, limit, offset, search, status, due_date, ordering, max_pages, task_template, and the due_date__gt/lt/gte/lte/year/month variants), and the description documents none of them. It neither explains the filter semantics nor the pagination/ordering contract an agent needs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text reads as an internal Django docstring ('Override the list method...') rather than a statement of what the tool does for a caller. It never says it lists task nodes or what a task node is, so an agent must infer purpose entirely from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, no when-not-to-use, and no reference to alternatives such as ciso_assistant_api_task_nodes_retrieve, task_nodes_object_retrieve, or task_nodes_evidences_list. The 'inject optimized data into serializer context' phrasing gives no selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_nodes_object_retrieveApi task nodes object retrieveDRead-onlyIdempotent
api_task_nodes_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that – no mention of what object is returned, whether missing IDs error, or any access scoping – so it contributes no behavioral context of its own.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single machine-generated token string is trivially short but is under-specification rather than conciseness. There is no front-loaded statement of purpose to earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no descriptive content means an agent knows neither what a 'task node' is in this system nor what the response contains. For a retrieve-by-id tool this is wholly inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, 'id', at 0% schema description coverage, so the description must carry the burden and does not. It gives no hint about whether the id is a task-node UUID, a ref_id, or a numeric PK, nor any format or error expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the operation ID 'api_task_nodes_object_retrieve' restated with no prose. An agent can partially parse 'task_nodes' plus 'object retrieve', but there is no verb-and-resource sentence and nothing that separates it from siblings like ciso_assistant_api_task_nodes_retrieve or task_nodes_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no exclusions, no named alternatives. With dozens of task_nodes siblings (retrieve, list, object_retrieve, status_retrieve, cascade_info_retrieve), the agent is given nothing to choose between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_nodes_partial_updateApi task nodes partial updateD
api_task_nodes_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, but the description restates none of this behavior in prose nor explains what a partial update leaves untouched, what happens to omitted fields, or what permissions are required. It carries zero behavioral value beyond the structured hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It consists of a single identifier string with no sentences, so there is no waste but also no content; this is under-specification rather than good conciseness. Nothing is front-loaded because nothing is stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation endpoint taking a free-form body with no output schema and 0% schema description coverage needs the description to at least sketch the accepted payload and the partial-update semantics. The description supplies neither, leaving the tool effectively uncallable without external documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the two parameters are opaque: 'id' is an undescribed string and 'body' is a free-form object with additionalProperties=true and no shape at all. The description supplies no field names, no example payload, and no explanation of what keys the body accepts, so an agent has nothing to construct a valid call from.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name repeated verbatim ('api_task_nodes_partial_update'), so its only signal is the identifier itself. The name does encode a resource (task nodes) and a mutation type (partial update), but the description adds no verb-plus-resource sentence of its own and does nothing to distinguish it from sibling ciso_assistant_api_task_nodes_update or ciso_assistant_api_task_nodes_partial_update variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the full-update sibling, the create sibling, or the destroy sibling in the same task_nodes family. An agent must infer from the suffix '_partial_update' alone, which the description neither explains nor qualifies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_nodes_remove_evidence_createApi task nodes remove evidence createDDestructive
api_task_nodes_remove_evidence_create
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the agent knows this is a destructive mutation, but the description adds nothing beyond that. It does not say what is destroyed, whether it can be undone, whether permissions are needed, or what happens to the underlying evidence asset versus the task node link.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is nothing wasteful because there is essentially nothing there: one identifier string. This is under-specification rather than conciseness, and there is no front-loaded statement of intent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, non-idempotent mutation with an undocumented required identifier, no output schema, and no annotations explaining scope. The description would need to carry essentially the whole burden here and it carries none of it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'id' has 0% schema description coverage and the description supplies no meaning at all. The critical ambiguity — whether 'id' identifies the task node, the evidence, or the task-node-to-evidence link — is left entirely unresolved, which makes a destructive call especially risky.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim echo of the tool name, 'api_task_nodes_remove_evidence_create', giving the agent no human-readable statement of what it does. It is impossible to tell whether this deletes an evidence record, unlinks an evidence attachment from a task node, or creates a removal request — a distinction that matters against siblings like ciso_assistant_api_task_nodes_evidences_list and ciso_assistant_api_evidences_destroy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no alternatives, and no exclusions of any kind. The agent has no basis for choosing this over ciso_assistant_api_task_nodes_destroy or ciso_assistant_api_task_nodes_partial_update.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_nodes_retrieveApi task nodes retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds one genuinely useful behavioral fact beyond that: unauthorized related fields come back masked. It does not say what masking looks like, whether it depends on role, or what occurs if the id 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so nothing is wasted, but it is under-specified rather than concise. The one meaningful clause (field masking) is placed well, yet it cannot compensate for the missing resource name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-by-id tool with no output schema and an undocumented parameter, the description leaves an agent unable to know what a task node is, what the id looks like, or what fields appear in the returned object. Annotations cover safety only, so the remaining gaps are real.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, id, with 0% schema description coverage and no explanation in the description. Since the schema carries no meaning, the description should have stated that id is the task node identifier and its format, but it says nothing about parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it returns "a single object" but never names the resource; only the tool name reveals it is a task node. It is nearly a restatement of "retrieve" with no verb+resource specificity that would separate it from the many sibling *_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus ciso_assistant_api_task_nodes_list, _object_retrieve, or _cascade_info_retrieve. No prerequisites, no exclusion conditions, nothing that tells an agent which of the near-identical task-node reads to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_nodes_status_retrieveApi task nodes status retrieveCRead-onlyIdempotent
api_task_nodes_status_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered without the description. The description adds nothing beyond that — no explanation of what 'status' contains, whether it reports running/failed nodes, or what the endpoint returns — 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but shortness here is under-specification rather than conciseness: a bare restatement of the identifier conveys no actionable information and is not front-loaded with any purpose or context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a status-retrieval endpoint in a very crowded task-node tool family with no output schema, the description should at minimum say what status is reported and when to use it. It provides none of that, leaving the agent unable to distinguish it from the numerous related siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema leaves nothing to explain and the baseline of 4 applies. The description neither adds nor detracts from parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool identifier reworded as a sentence: 'api_task_nodes_status_retrieve'. It technically implies a read of task-node status, but it is a tautology that never states the resource or verb in prose, and it does not distinguish this from siblings such as api_task_nodes_retrieve or api_task_nodes_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus task_nodes_retrieve, task_nodes_list, or task_nodes_object_retrieve. No preconditions, no exclusions, no alternatives are mentioned anywhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_nodes_updateApi task nodes updateDIdempotent
api_task_nodes_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered and there is no contradiction. The description itself adds zero behavioral context — no mention of what fields get replaced, permissions, or side effects of a full update.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single token with no waste, but that brevity reflects under-specification rather than efficient communication — there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write operation on task nodes with an opaque body parameter, no output schema, and no field documentation, the definition is completely inadequate for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are two parameters, including an untyped 'body' anyOf object. The description says nothing about what 'id' identifies or what the body payload should contain, leaving the mutation entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the operation ID 'api_task_nodes_update', restating the tool name. It conveys no verb-and-resource statement beyond what the name already shows, and nothing distinguishes it from sibling 'ciso_assistant_api_task_nodes_partial_update' or 'task_nodes_create'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance about when to use this full-update versus partial_update, batch_action, or create/destroy siblings. Nothing tells the agent what conditions select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_templates_assigned_to_retrieveApi task templates assigned to retrieveCRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 covered. The description adds nothing about what is actually returned (e.g., the set of users/entities assigned to task templates) and instead claims export-mixin behavior, which is misleading about the response shape even if not a literal contradiction of the readOnly annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not verbose, but brevity only counts when content is relevant. The sentence conveys irrelevant/inaccurate information and gives the agent nothing actionable to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description carries the full burden of explaining what this read endpoint returns, and it fails entirely — an agent has no idea whether it returns users, ids, or an export file.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline rule the schema burden is minimal and a 4 is appropriate. The description neither helps nor hurts here, but it certainly does not add meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description reads 'Generic export mixin for CSV/XLSX exports', which does not match the tool's name (task templates assigned to retrieve) or its apparent purpose of listing assignees for task templates. It is a leaked implementation/mixin docstring rather than a statement of what this endpoint returns, so an agent cannot tell it apart from the many sibling export_csv/export_xlsx tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of alternatives such as ciso_assistant_api_task_templates_list or the export_csv/export_xlsx siblings that the description's wording actually points toward.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_templates_batch_action_createApi task templates batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the safety profile is partly covered. The description adds nothing beyond that: it does not say what the batch action mutates, what 'objects' means here, or whether the operation is all-or-nothing — context an agent would need for a bulk mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, but that brevity comes from under-specification rather than efficiency. Nothing is front-loaded because there is nothing substantive to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world bulk mutation with no output schema and an empty input schema, the description should carry most of the explanatory burden. Instead it omits the resource, the action semantics, and the expected payload shape, leaving the agent to infer everything from the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters with additionalProperties false, so there is no per-parameter documentation to miss, which sets a baseline of 4. However, the description gives no hint that a batch action endpoint typically needs an action selector and a list of object IDs, leaving the agent with nothing to reason about beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only "Perform a batch action on multiple objects" and never names the resource (task templates) that appears in the tool name. For an agent choosing among roughly a hundred sibling *_batch_action_create tools, this neither states a specific resource nor distinguishes the tool from any of them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this batch endpoint versus the singular create/update/destroy task-template tools, nor on prerequisites, payload requirements, or alternatives. The sentence is pure restatement with no usage conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_templates_calendar_retrieveApi task templates calendar retrieveDRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | ||
| start | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint true, so the description needed to add calendar-specific behavior. Instead it describes an export mixin, giving no information about what data is returned, how the date window is applied, or any limits. The text is misleading even though it does not literally contradict readOnlyHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no bloat, but that brevity comes from describing the wrong thing rather than from disciplined specification. Being short and wrong is not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, two undocumented required parameters, and a description that discusses an unrelated export mixin, an agent has essentially nothing needed to invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and both required parameters (start, end) are bare strings. The description does not mention them at all, leaving their format, timezone, inclusivity, and range semantics completely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Generic export mixin for CSV/XLSX exports', which does not describe this tool at all. The tool is a calendar retrieval for task templates taking start/end dates, yet the text describes an unrelated export mixin, actively misleading the agent about what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool, no mention of alternatives such as ciso_assistant_api_task_templates_export_csv_retrieve or ciso_assistant_api_get_governance_calendar_data_retrieve, and no context for the required date range.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_templates_cascade_info_retrieveApi task templates cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorld, so the safety profile is covered, but the description adds nothing beyond that — it does not explain what a 'cascade' means here (e.g., dependent objects that would be affected by a delete), whether the result is read-only preview data, or any required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words plus a colon is under-specification rather than conciseness. There is no front-loaded statement of purpose, and the fragment conveys almost no information an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one undocumented parameter, no output schema, and a cascade operation whose semantics are entirely unexplained, the description leaves an agent unable to call this correctly or interpret the result. It is inadequate even for a simple read.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single required parameter 'id' is undocumented in both schema and description. The description does not state that 'id' is the task template identifier, nor what format it takes, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment that largely restates the 'cascade_info' portion of the tool name as 'preview'. It does not name a verb (retrieve, compute, list), nor what entity's cascade is being previewed or what is returned, so an agent cannot distinguish it from the many other *_cascade_info_retrieve siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this tool, when not to, or which sibling alternatives exist. An agent has no basis for choosing it over task_templates_object_retrieve, task_templates_retrieve, or any other cascade_info endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_templates_createApi task templates createD
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, i.e. a non-idempotent write. The description instead frames the tool as an export (a read-like operation), contradicting the mutation semantics an agent needs to know about. Nothing is said about payload expectations, side effects, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, so it does not waste tokens, but the single sentence conveys no usable information about this tool. Brevity here is under-specification rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A create tool with a free-form body, no output schema, and no documented parameters requires the description to explain the payload shape and mutation semantics. It does none of that, so an agent cannot call it correctly from this definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the sole 'body' parameter is an untyped free-form object with additionalProperties true. The description offers no information about what fields the body should contain, leaving the agent with no way to construct a valid request.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Generic export mixin for CSV/XLSX exports', which describes neither a create operation nor task templates. It appears to be a copy-pasted framework docstring and actively misleads an agent about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the sibling list/update/retrieve tools for task templates, and no exclusion conditions. The one sentence describes an unrelated export concern rather than the create workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_templates_destroyApi task templates destroyDDestructiveIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, but the description frames the tool as an export/read capability. This directly contradicts the safety profile an agent needs, and gives no information about irreversibility or prerequisites for deletion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but brevity here is not conciseness — it is a single irrelevant sentence that conveys no actionable information for the tool's actual behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world, non-idempotent-in-effect deletion tool with no output schema and an undocumented parameter, the description provides none of the context needed to invoke it safely or correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter (id) with 0% schema description coverage, and the description says nothing about it. With low coverage the description is expected to compensate, and it does not mention the identifier at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says "Generic export mixin for CSV/XLSX exports," which describes an export capability, not a deletion of a task template. The tool name and title indicate a destroy operation, so the description actively misleads about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., partial_update, batch_action_create, or other destroy siblings). The stated use case (CSV/XLSX export) points to entirely different sibling tools such as task_templates_export_csv_retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_templates_export_csv_retrieveApi task templates export csv retrieveCRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds nothing beyond that and, by framing the endpoint as a 'mixin', obscures that the call returns a file payload; no mention of output format, filename, or content-type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not verbose. However, that sentence describes code architecture rather than the tool's action, so its brevity comes at the cost of it earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only source of information about what the call yields, and it does not say that a CSV file of task templates is produced, nor what fields or filters apply. An agent cannot tell what it will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. The schema coverage is 100% and empty, so no compensating detail is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Generic export mixin for CSV/XLSX exports' describes an internal implementation class rather than stating that it exports task templates as a CSV file. The tool name carries the verb+resource, but the description neither confirms the resource nor distinguishes it from the sibling export_xlsx variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this rather than ciso_assistant_api_task_templates_export_xlsx_retrieve, which is the natural alternative. Mentioning 'CSV/XLSX' actually blurs the distinction between the two sibling export tools instead of clarifying it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_templates_export_xlsx_retrieveApi task templates export xlsx retrieveBRead-onlyIdempotent
Export task templates with a summary sheet and individual sheets for each template's task nodes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds genuine value by disclosing the workbook layout, but says nothing about how the file is returned, whether it covers every template, or any size/rate constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; every clause (summary sheet, individual sheets, per-template task nodes) adds information about the output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description partially compensates by describing the workbook contents, but it omits the return channel (attachment/binary vs. URL), export scope, and whether filters apply. For an export tool this leaves a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline for a parameterless tool is 4. The sentence appropriately avoids restating a nonexistent schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Export task templates') and describes the artifact's structure (summary sheet plus per-template node sheets). It does not name the csv sibling or otherwise differentiate from it, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no mention of the sibling ciso_assistant_api_task_templates_export_csv_retrieve, and no indication of scope (all templates vs. filtered subset). The only implied guidance comes from the 'xlsx' suffix in the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_templates_listApi task templates listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| evidences | No | ||
| incidents | No | ||
| max_pages | No | ||
| objectives | No | ||
| assigned_to | No | ||
| is_recurrent | No | ||
| applied_controls | No | ||
| filtering_labels | No | ||
| last_occurrence_status | No | ||
| next_occurrence_status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/openWorldHint, so safety is covered, but the description adds no operative context — not pagination behavior, not what the 'optimized data' means for the returned payload, not whether filters are combinable. Worse, it spends its only sentence on server internals that give the agent no actionable signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is devoted to an implementation note rather than a front-loaded purpose statement, so its brevity does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with 17 undocumented optional parameters, no output schema, and no annotations explaining return shape, the description supplies nothing an agent needs in order to call it correctly — no filter semantics, no pagination model despite limit/offset/max_pages existing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 17 parameters (id, name, folder, search, ordering, is_recurrent, last_occurrence_status, max_pages, etc.), and the description adds zero meaning for any of them. The agent has no idea what values these filters accept or how they interact.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text describes an internal Django implementation detail ('Override the list method to inject optimized data into the serializer context') rather than telling an agent what the tool does. Only the tool name and title hint that it lists task templates; the description itself never states the verb+resource that an agent needs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives such as ciso_assistant_api_task_templates_retrieve or _object_retrieve, and no conditions that would select this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_templates_object_retrieveApi task templates object retrieveDRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered; the description adds nothing and instead frames the tool as an export mixin. No mention of what is fetched, whether missing ids error, or any permission/side-effect context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there's no bloat, but its brevity comes from being a leftover code docstring rather than a front-loaded statement of purpose. Being short does not help when the content is wrong.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve-by-id tool with no output schema and an undocumented id parameter, the description should at minimum say it returns a task template. It provides nothing usable and points the agent toward an unrelated export concept.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage and the description never mentions it or what kind of identifier it expects. With no schema documentation, the description needed to carry this and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Generic export mixin for CSV/XLSX exports', which describes an export mechanism, not the retrieval of a single task template object identified by id. It is actively misleading about what the tool does and offers no way to distinguish it from siblings like task_templates_export_csv_retrieve or task_templates_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or which sibling to prefer for listing, exporting, or updating task templates. An agent reading this would likely route to export-oriented calls instead of the object retrieve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_templates_partial_updateApi task templates partial updateD
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and idempotentHint=false, meaning this is a mutating, non-idempotent operation, but the description frames it as an 'export mixin' — a read-only concept. It discloses nothing about what gets modified, required permissions, or partial-update semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the single sentence is wrong about the tool's function, so brevity buys nothing. An inaccurate one-liner is worse than a longer accurate one.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent mutation on a task template with an opaque free-form body and no output schema, the description supplies zero usable information. Nothing an agent needs in order to call it safely is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across both parameters (id, body), so the description must compensate and instead says nothing. The untyped 'body' object in particular is left entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Generic export mixin for CSV/XLSX exports', which describes an internal code construct, not this tool. The tool name indicates a partial update (PATCH) of a task template, so the stated purpose is misleading rather than merely vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance at all on when to use this tool versus siblings such as ciso_assistant_api_task_templates_update or ciso_assistant_api_task_templates_export_csv_retrieve. The one sentence present points the agent toward an export path that belongs to a different tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_templates_per_status_retrieveApi task templates per status retrieveDRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 covered. The description adds nothing about behaviour beyond a misleading mention of CSV/XLSX exporting, and says nothing about what the per-status grouping returns or how it aggregates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity only counts if the sentence earns its place. Here the single sentence is boilerplate that does not describe the tool, so the structure is efficient but content-free.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an aggregate/grouping retrieval endpoint with no output schema and no parameters, the description is the only source of information about what comes back, and it supplies none of it. An agent cannot form a correct expectation of the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes 0 parameters and schema coverage is 100%, so per the baseline this would be a 4. However, the description implies export-format semantics (CSV/XLSX) that have no corresponding parameter, which is misleading rather than additive, so it is docked one point.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description reads 'Generic export mixin for CSV/XLSX exports', which is an internal code docstring, not a description of what this endpoint does. The tool name says it retrieves task templates grouped per status, and separate siblings (task_templates_export_csv_retrieve, task_templates_export_xlsx_retrieve) already own export behaviour, so the description actively misdirects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this vs the many sibling task_templates endpoints (retrieve, list, status_retrieve, per_status_retrieve, export_csv/xlsx). An agent has no basis to choose this tool over the alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_templates_retrieveApi task templates retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description does add one genuinely useful behavioral fact — unauthorized related fields are masked in the response — which is not visible in annotations. It omits error/not-found behavior and whether masking is field-level or object-level.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, which is an appropriate size for a simple getter. It is not front-loaded with the resource identity, but there is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-param retrieve tool with rich annotations and no output schema, the description covers return masking but leaves the entity unnamed, the id semantics unexplained, and lookup-failure behavior unstated. It is too thin given zero schema documentation on the only parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%: the single required parameter `id` has no description in the schema, and the description does not clarify that it is the task template identifier or its format (UUID vs ref_id). With one undocumented required parameter, the description should have compensated and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Return a single object" essentially restates the verb in the tool name (retrieve) without ever naming the resource (task templates). An agent must parse the tool name to learn what entity is fetched; the description alone does not tell it apart from the hundreds of sibling *_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no alternatives named — not list vs retrieve, not object_retrieve vs retrieve vs cascade_info_retrieve, all of which coexist for task templates. Nothing tells the agent which of these to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_templates_status_retrieveApi task templates status retrieveDRead-onlyIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so behavior beyond that is not required — but the description contributes nothing true about the call (no indication that it returns enumerated status values for task templates). It describes an export mixin instead, leaving an agent with an incorrect mental model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, so it passes the structure test, but brevity that conveys the wrong subject is worse than silence. The single sentence is pure waste because it has no relation to the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place an agent could learn what this endpoint returns (presumably the list of available task-template statuses). It instead describes CSV/XLSX export, so the definition is fundamentally incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters with 100% schema coverage, so there is nothing for the description to clarify; the baseline for a no-param tool applies. The off-topic sentence neither helps nor adds parameter confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Generic export mixin for CSV/XLSX exports,' which describes no export tool at all and says nothing about retrieving task-template statuses. It is actively misleading about the tool's resource and verb, and offers no differentiation from the many sibling *_status_retrieve endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives like ciso_assistant_api_task_templates_per_status_retrieve or ciso_assistant_api_task_templates_retrieve, and no indication of when this endpoint should be called instead of them. The sentence that is present points the agent toward an unrelated export scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_templates_updateApi task templates updateDIdempotent
Generic export mixin for CSV/XLSX exports.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, openWorldHint=true, idempotentHint=true, i.e. a mutating, non-destructive, idempotent write. The description instead characterizes the tool as an export mixin, implying a read/export operation, which contradicts the annotations. No mention of what gets modified, required permissions, or success behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short, but its content is boilerplate that does not earn its place; brevity is worthless when the stated subject is the wrong resource and the wrong operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, an opaque body parameter, and only 2 undocumented parameters, the description should at minimum name the resource, the operation, and the payload shape. It does none of these and is actively misleading.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the two parameters (id and body), but it explains neither. The body is a free-form object with additionalProperties true and no documentation anywhere; an agent has no way to know what fields are valid.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never mentions task templates or updating; it describes a 'Generic export mixin for CSV/XLSX exports', which is a leaked implementation docstring rather than the tool's purpose. An agent cannot tell from this that the tool mutates an existing task template, and it reads as an export/read tool, directly conflicting with the name suffix _update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool versus siblings such as task_templates_partial_update, task_templates_create, or task_templates_export_csv_retrieve. The only usage hint is the erroneous 'CSV/XLSX exports', which would actively steer the agent to the wrong sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_task_templates_yearly_review_retrieveApi task templates yearly review retrieveARead-onlyIdempotent
Get recurrent task templates grouped by folder for yearly review.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 covered. The description adds the folder-grouping behavior, which is genuinely useful, but says nothing about result shape, permissions, or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-formed sentence with no filler, and the resource is front-loaded before the purposes clause. Slightly terse, but nothing wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read with full annotation coverage and no output schema, the description conveys what comes back (templates grouped by folder) and why to call it. Only the return structure remains implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing the schema could fail to document; baseline 4 applies. The description correctly implies the call is unfiltered (all templates, grouped by folder).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Get') and clearly identified resource ('recurrent task templates grouped by folder'), plus the scoping angle 'yearly review'. It is distinguishable from siblings like task_templates_list or calendar_retrieve, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'for yearly review' implies the review-workflow context in which to use it, but there is no explicit when-to-use/when-not guidance or pointer to the plain list or calendar siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_teams_batch_action_createApi teams batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, so the agent knows it mutates but is not flagged destructive. The description adds nothing beyond that: it does not say which batch actions exist (delete? assign? update?), whether effects are reversible, or that idempotentHint=false means a repeat call may apply the action twice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler. Brevity is not the problem here; the sentence simply carries too little information for its length to matter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and the input schema is empty, so the description carries the full burden of explaining targets, action semantics, and results. It supplies none of these, leaving an agent unable to call the tool correctly with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter count is zero and the schema declares additionalProperties=false with no properties, which is itself anomalous for an operation described as acting on 'multiple objects'. The description offers no explanation of how targets or the action type are conveyed, so with a 0-param schema a baseline near 4 is undercut by this unexplained mismatch.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'perform a batch action on multiple objects' but never names the resource (teams) or what the action does; the resource is only inferable from the tool name. Identical wording appears to serve every batch_action sibling, so it does nothing to distinguish this tool from dozens of look-alikes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when this should be used versus the per-object siblings (teams_create, teams_update, teams_destroy) or versus the many other batch_action tools. The only implied cue is 'multiple objects', which is not enough guidance to make a selection decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_teams_cascade_info_retrieveApi teams cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 description help. The description adds nothing beyond that: it does not say what the endpoint returns (dependent objects? counts? a warning?), whether the response could be large, or what "cascade" scope means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is two words and a colon — waste-free but radically under-specified rather than concise. There is no front-loaded statement of intent because there is effectively no content at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameter documentation, and no annotations covering semantics, the description is the only source of meaning and it supplies none. An agent cannot determine what response to expect or how to use it in a workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required `id` parameter, so the description carries the full burden and fails it — it never says the id is a team id, nor what happens for an unknown id. The tool name weakly implies a team identifier, which is the only reason this is not a 1.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment that restates part of the tool name rather than stating a verb+object outcome. It never says what a "cascade" is here (dependent objects, deletion impact, counts) or which resource's cascade, and it does nothing to distinguish this from the dozens of sibling *_cascade_info_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, no prerequisite, and no alternative named. At best the word "preview" weakly implies calling this before a mutation, but the agent must infer both the scenario and the alternative (e.g. the actual destroy/update endpoint).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_teams_createApi teams createD
api_teams_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false, so the safety profile is fully structured. The description adds nothing at all – not what is created, not permission requirements, not whether duplicates are rejected, not what is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One underscore-joined token is not concise structuring, it is under-specification; there is no sentence to front-load and no information content to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with an opaque free-form body, no output schema, and no annotation-supplied contract for the payload. The description would need to explain at minimum what a team record looks like and what fields the body accepts; it explains nothing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'body' parameter has 0% schema description coverage and is an unconstrained free-form object, and the description provides no information about expected fields. This is the worst case: an agent must guess the entire request payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name with underscores removed ("api_teams_create"), a tautology that adds no verb/resource meaning beyond what the name already conveys. It does not distinguish this create operation from the numerous sibling create tools or say what a 'team' is in this system.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus alternatives (e.g. teams_batch_action_create, teams_partial_update, user_groups_create), no prerequisites, and no indication of what a request must contain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_teams_destroyApi teams destroyDDestructiveIdempotent
api_teams_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true, idempotentHint=true, openWorldHint=true and readOnlyHint=false, so the safety profile is fully covered by structured data. The description adds nothing on top of that — no mention of cascade effects, permission requirements, or irreversibility beyond what the hints state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but this is under-specification rather than conciseness: the single token carries no information beyond the tool name and has no front-loaded explanation of action or scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world delete operation with no output schema and an undocumented parameter, the description should at minimum state what gets removed and what is required. It supplies none of that, leaving the agent entirely dependent on annotations and the name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, and the description does not compensate at all — it never says whether the id is a UUID, slug, or numeric key. The parameter is simple enough to be inferable from its name, but the description contributes no semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw operation identifier "api_teams_destroy", which merely restates the tool name and title. An agent can infer deletion of a 'team' entity, but nothing distinguishes it from siblings like ciso_assistant_api_teams_partial_update or ciso_assistant_api_teams_batch_action_create beyond the word 'destroy'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool, when not to, or which alternatives (e.g. teams_partial_update, teams_batch_action_create) apply. The description provides zero routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_teams_listApi teams listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered. The description adds nothing a caller can act on — 'inject optimized data into the serializer context' is server-side jargon, and it omits any hint about result shape, pagination behavior, or whether the 'optimized data' changes the payload.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is spent on an internal implementation note rather than on the load-bearing information (resource, pagination, search). Brevity here comes from omission, not economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 undocumented parameters, no output schema, and no annotation gaps to lean on for semantics, the description needs to carry nearly everything and carries nothing. An agent cannot tell whether this returns a paginated list of teams or what search/ordering accept.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Five parameters (limit, offset, search, ordering, max_pages) exist with 0% schema description coverage and untyped anyOf schemas, so the description was the only place to explain them. It mentions none of them, leaving pagination, search syntax, and ordering format completely undefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence describes an internal implementation detail (overriding a list method, injecting data into a serializer context) rather than what the tool does for a caller. The resource (teams) is never named and the verb 'list' only appears as a code artifact, so the agent must infer purpose entirely from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus ciso_assistant_api_teams_retrieve, teams_object_retrieve, or the other teams siblings. No prerequisites, filters, or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_teams_object_retrieveApi teams object retrieveDRead-onlyIdempotent
api_teams_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered structurally; the description contributes nothing beyond that. It neither contradicts nor enriches the annotations, leaving questions like error behavior for unknown ids or permission scope unaddressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single token with no waste but also no content; brevity comes from under-specification rather than efficiency. Nothing is front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is one of many near-identical '*_object_retrieve' endpoints, and there is no output schema, the description should at minimum say what object is returned and how it differs from ciso_assistant_api_teams_retrieve. It provides none of that, leaving the definition unusable as a selection guide.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required 'id' parameter with 0% schema description coverage, so the description is the only place format expectations (integer vs UUID, string type of the team identifier) could be clarified – and it says nothing. The burden was on the description here and it was not met.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint identifier 'api_teams_object_retrieve', which merely restates the tool name/title in machine form. An agent can decode 'retrieve' + 'teams' + 'object', but the description itself adds no natural-language statement of what is fetched or returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus siblings such as ciso_assistant_api_teams_retrieve, ciso_assistant_api_teams_list, or object_retrieve variants elsewhere. Nothing indicates preconditions or the difference between listing teams and fetching a single team object.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_teams_partial_updateApi teams partial updateD
api_teams_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true, but the description adds zero context beyond them – nothing on what fields can be patched, whether omitted fields are preserved (the whole point of a partial update), permission requirements, or side effects. With no annotations this would still be a 1; with annotations it contributes nothing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity comes from under-specification rather than efficiency: a single snake_case identifier conveys no structure, no front-loaded verb-and-scope statement, and no actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation endpoint with a free-form object body, no output schema, 0% schema coverage, and dozens of confusingly similar siblings. The description provides none of the context needed to call it correctly, such as which team fields exist, what the ID format is, or what a partial update returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters, and the description compensates for none of it. The critical ambiguity – that `body` is a free-form object holding the team fields to patch, versus `id` being the string identifier of the team – is completely unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name with underscores replaced by spaces: 'api_teams_partial_update'. It restates the title rather than stating in plain language that it partially updates (PATCHes) an existing team record by ID, which is a tautology per the scoring rubric.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this versus the many siblings such as api_teams_update (full update), api_teams_create, api_teams_destroy, or api_teams_retrieve. An agent must infer PATCH-vs-PUT semantics on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_teams_retrieveApi teams retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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, openWorldHint=true). The description adds one genuinely useful behavioral fact beyond them – that unauthorized related fields are masked in the response – but does not say which fields, under what permission conditions, or whether masking is silent or flagged.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler. It is efficient, though what it omits (the resource itself) is not an issue of verbosity but of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-record fetch with no output schema, the description should identify the resource and give a sense of what the returned object contains. It discloses masking but leaves the subject of the lookup entirely unspecified, so an agent must infer everything from the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter (id) is never mentioned in the description. With no schema text to lean on, the description should at least state that the id identifies a team/object, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only says "Return a single object" – it never names the resource (a team), so the purpose is carried entirely by the tool name and title. It edges past pure tautology only because of the masking note, but an agent reading the description alone cannot tell what it fetches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus the many sibling read tools for the same resource (teams_list, teams_object_retrieve, teams_cascade_info_retrieve). The only implied cue is the required id, which is already in the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_teams_updateApi teams updateDIdempotent
api_teams_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, openWorldHint=true and destructiveHint=false, but the description adds nothing on top: no statement of what the body modifies, whether unspecified fields are reset (full PUT semantics), required permissions, or failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is technically short, but the brevity comes from under-specification rather than efficiency — a single snake_case identifier is not informative content that is front-loaded; there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint taking an opaque body with no output schema, no parameter descriptions and only generic annotations, the description is completely inadequate — an agent cannot safely construct the request from this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are two parameters, one of which ('body') is an untyped free-form object. The description supplies no information about the id format, or which team fields the body accepts, so it entirely fails to compensate for the documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation identifier 'api_teams_update', which merely restates the tool name and title. It implies an update to a 'team' resource but never states what is being updated, in which system, or how it differs from the sibling partial_update/destroy/create team tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus ciso_assistant_api_teams_partial_update or the batch_action variant, and no prerequisites or preconditions are stated. Usage can only be guessed from the verb 'update'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_terminologies_batch_action_createApi terminologies batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already carry the whole safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), and the description adds nothing on top: it doesn't say what a 'batch action' does to the objects, whether it is atomic, what permissions are required, or what happens on partial failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, but it is under-specified rather than concise — the brevity costs the agent all the information it needs to call the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A write-operation tool with no output schema, an empty input schema, and no behavioral detail in the description. For a mutation endpoint in a large family of near-identical tools, the definition does not give enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters with additionalProperties=false, yet a batch action inherently needs a list of object ids and an action name. The description does not explain how those inputs are supplied, leaving a serious gap despite the nominal 0-parameter baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a verb and a generic resource ('Perform a batch action on multiple objects'), but the tool name is the only thing that identifies the affected entity as terminologies. With dozens of identically-worded sibling batch_action tools, the description gives an agent nothing to distinguish this one, and never says which actions (update, delete, etc.) are supported.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no exclusions, and no mention of the siblings it competes with (terminologies_create, terminologies_destroy, terminologies_update). An agent has no idea whether to prefer this over per-object calls.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_terminologies_cascade_info_retrieveApi terminologies cascade info retrieveCRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered externally. The description contributes no behavioral context at all — nothing about what the cascade preview contains, how deep it goes, or what data it touches.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Length is not the problem — the fragment is a trailing-colon label with no content following it. This is under-specification rather than conciseness; one useful sentence would have earned its place where this does not.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must explain what a "cascade preview" returns, and it does not. For a retrieve operation whose entire value is the shape of the returned tree/impact data, the definition leaves the agent without enough to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the sole required parameter "id" is a bare string with no format or referent documented. The description does not clarify whether the id is a terminology, field path, or parent object identifier, so the agent must guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment with no verb and no resource; it only echoes part of the title/name. An agent can infer from the tool name that it retrieves cascade information for terminologies, but the description itself adds nothing and does not distinguish it from the many sibling *_cascade_info_retrieve tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus alternatives such as terminologies_retrieve or terminologies_object_retrieve, nor any prerequisites. The single word "preview" hints at a non-committal check but no condition, exclusion, or alternative is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_terminologies_createApi terminologies createD
api_terminologies_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already supply the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), so the description needed to add context such as what the endpoint mutates or what it returns. It adds nothing beyond the name, leaving the write behavior, auth requirements and response shape undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely short, but this is under-specification rather than conciseness — the single tokenized phrase carries no information and nothing is front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an entirely undocumented free-form body and no output schema, the description should explain the resource model and payload expectations. It supplies none of that, so the definition is unusable without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single optional 'body' parameter with 0% schema description coverage and an untyped free-form object definition. The description provides no information about what fields the body accepts, so the agent has no way to construct a valid payload from the definition alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name with underscores replaced by spaces: 'api_terminologies_create'. It restates what the name already conveys (create a terminology) without stating what a 'terminology' is in this system, what creating one produces, or how it differs from the many sibling create endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever about when to use this tool, prerequisites, or when to prefer a sibling such as terminologies_list, terminologies_update, or terminologies_partial_update. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_terminologies_destroyApi terminologies destroyDDestructiveIdempotent
api_terminologies_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered by structured data. The description contributes nothing beyond that—no disclosure of what a terminology is, what dependent data is removed, or whether deletion is recoverable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single restated identifier, which is under-specification rather than conciseness. There is no front-loaded purpose statement to earn the (admittedly small) space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with a required id and no output schema, the description is inadequate—nothing about what is being deleted or the consequences. Annotations cover the destructive flag, but the semantic context an agent needs to choose this tool is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter `id` has 0% schema description coverage, and the description does not explain what the id refers to or its format. With no compensating text, the agent gets no meaning beyond the bare string type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the string "api_terminologies_destroy", which restates the tool name verbatim. The name does imply a delete operation on terminologies, but the description adds no verb+resource explanation, no scope, and no differentiation from the many sibling destroy endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or what alternatives exist. An agent must infer from the name alone that this deletes a terminology record.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_terminologies_field_path_retrieveApi terminologies field path retrieveCRead-onlyIdempotent
api_terminologies_field_path_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond them — it does not say what a "field path" is, what shape the response takes, or why the endpoint is open-world.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not concise — it is under-specified rather than economical, containing a single restated identifier with no front-loaded purpose. Length is not the problem; absence of content is.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must explain what this retrieve returns (presumably the field-path metadata for a terminology). It does not, leaving the agent with no information about the return payload or the meaning of "field path" in this API.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; the empty schema is self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the operation id repeated verbatim ("api_terminologies_field_path_retrieve"), a tautology of the name. It gives no verb-plus-resource explanation an agent could not already derive from the tool name, and it is indistinguishable from siblings like terminologies_retrieve or terminologies_cascade_info_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever about when to use this tool versus the many sibling terminologies endpoints (retrieve, list, object_retrieve, cascade_info_retrieve, batch_action_create). An agent has no basis for selection beyond guessing from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_terminologies_listApi terminologies listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| builtin | No | ||
| ordering | No | ||
| max_pages | No | ||
| field_path | No | ||
| is_visible | No |
TDQS
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 only an internal serializer-context implementation detail and does not disclose useful behavior such as filtering, pagination, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but its brevity comes from under-specification rather than efficient communication. It is not front-loaded with agent-relevant purpose or usage information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter list endpoint without an output schema or parameter descriptions, the description is far too thin. Annotations cover the safety profile, but the description leaves key retrieval and filtering behavior entirely undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 10 parameters with 0% schema description coverage, including filters like folder, builtin, field_path, is_visible, and max_pages. The description provides no explanation for any parameter, leaving the agent with bare names and no semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it overrides a list method, but it never states the resource being listed or what an agent would use it to retrieve. The tool name implies terminologies, but the description itself is an implementation note rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as terminologies_retrieve, terminologies_cascade_info_retrieve, or other list endpoints. The mention of an overridden list method implies retrieval but gives no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_terminologies_object_retrieveApi terminologies object retrieveDRead-onlyIdempotent
api_terminologies_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered elsewhere. The description adds nothing — no mention of what the returned object contains, whether it 404s on unknown ids, or how it differs from the plain retrieve endpoint. With annotations doing all the work, the description contributes zero additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here is under-specification rather than efficiency — the entire body is a name echo with no front-loaded purpose. Nothing is wasted because nothing is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve tool with no output schema, the description must carry the burden of explaining what object is returned and how to identify it; it does neither. In a namespace with hundreds of near-identical *_object_retrieve tools, this definition is completely inadequate for correct selection or invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single required parameter `id` is described nowhere. The description does not state whether id is a UUID, slug, or integer, nor how to obtain it. With one undocumented param, the description should have compensated and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool slug restated ('api_terminologies_object_retrieve') with no verb, resource explanation, or scope statement. It is tautological — an agent learns nothing beyond what the name already encodes. There is no differentiation from sibling tools such as api_terminologies_retrieve or the many other *_object_retrieve variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool, when not to, or which sibling to prefer (e.g., terminologies_list vs terminologies_retrieve vs object_retrieve). The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_terminologies_partial_updateApi terminologies partial updateD
api_terminologies_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false, but the description adds nothing beyond them — no note on permissions, what a partial patch preserves, validation failures, or side effects. The one behavior an agent most needs (partial semantics) is never stated in prose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than conciseness: a single identifier-shaped string with no sentence structure and no information front-loaded beyond the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an arbitrary open object body, no output schema, and no schema documentation, the description should explain partial-update semantics, the request body, and the resource addressed. It covers none of this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description supplies no parameter meaning. The body is an untyped free-form object with additionalProperties true, and the description never explains its shape, so an agent has no way to know which terminology fields (name, description, field path, etc.) are accepted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw operation identifier 'api_terminologies_partial_update', which merely restates the tool name and title. Any sense of verb and resource is carried entirely by the name, not by descriptive prose, and nothing distinguishes it from siblings like ciso_assistant_api_terminologies_update or ciso_assistant_api_terminologies_cascade_info_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling to prefer. An agent must infer from the name alone that a full PUT-style replacement exists in ciso_assistant_api_terminologies_update, and that 'partial' means omitted fields are preserved.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_terminologies_retrieveApi terminologies retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 does add genuine behavioral context beyond that: returned related fields are masked for unauthorized users, meaning the response content depends on the caller's permissions. However, it never clarifies which fields count as 'related' or what 'unauthorized' means in practice, leaving the disclosure cryptic.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler, so there is nothing to trim. But the brevity comes at the cost of substance — it is under-specified rather than efficiently informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carried the burden of explaining the returned object, and it does not. It omits the resource domain, the shape of the response, and the specifics of the masking behavior, leaving an agent unable to judge whether this tool returns the data it needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is completely undocumented in both the schema and the description. The phrase 'a single object' hints at lookup-by-identifier but does not specify the id format (UUID, slug, integer-as-string) or behavior on unknown ids, so the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it returns 'a single object' and never names the resource (terminologies) or the identifier used to select it. It essentially restates the 'retrieve' verb from the tool name in generic terms, and gives no way to distinguish it from the sibling ciso_assistant_api_terminologies_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or how it relates to alternatives such as terminologies_list, terminologies_object_retrieve, or terminologies_field_path_retrieve. The agent must infer the use case entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_terminologies_updateApi terminologies updateDIdempotent
api_terminologies_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is known. The description adds nothing beyond that — no statement of what is replaced, whether unspecified fields are cleared (PUT semantics), or what permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
This is not conciseness but under-specification: a single fragment restating the tool name. There is no front-loaded purpose sentence and nothing an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with a wide-open object body, 0% parameter documentation, and no output schema needs the description to explain the payload; it explains nothing. The definition is inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description says nothing about the two parameters. The 'body' parameter is a free-form object with additionalProperties=true, so the description had the full burden of explaining its expected shape and failed to do so.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'api_terminologies_update' only echoes the tool name and title, making it a tautology rather than an explanation. It never states what a terminology is or what the update changes, and it gives no signal distinguishing it from ciso_assistant_api_terminologies_partial_update or _update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'update' weakly implies modifying an existing record, but there is no explicit when-to-use guidance, no mention of when to prefer partial_update versus update, and no prerequisites. An agent browsing the many terminologies_* siblings gets no routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_threats_batch_action_createApi threats batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, non-idempotent, non-destructive, open-world behavior, so the description owes context the annotations cannot carry — which actions are supported (delete vs update), atomicity on partial failure, and permission/auth requirements. None of that is present; the sentence merely rephrases the annotation profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no waste, but the brevity is under-specification rather than economy — nothing in it earns its place because nothing actionable is conveyed. Structured well, substantively empty.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A batch mutation with no parameters, no output schema, and no annotations conveying safety beyond hints is left almost entirely unexplained. The agent cannot determine what a valid invocation looks like or what a partial success returns; the description should be carrying that burden and is not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero properties, so there are no parameters for the description to clarify. However, an empty schema on a mutation endpoint strongly implies the action payload arrives some other way, and the description does nothing to explain the expected action vocabulary or object identifiers — a gap only the description could fill.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only "Perform a batch action on multiple objects" – it never states the resource is threats, and "objects" is generic filler. Against dozens of near-identical `*_batch_action_create` siblings, this text gives the agent no way to tell it apart; disambiguation depends entirely on the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this instead of single-record paths (`api_threats_update`, `api_threats_partial_update`, `api_threats_destroy`) or when batch is inappropriate. There are no exclusions, no prerequisites, and no mention of how many objects constitute a reasonable batch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_threats_cascade_info_retrieveApi threats cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The word "preview" adds a small hint that the result is informational rather than applied, but the description says nothing about what a cascade is in this domain, what is returned, or whether the id must reference an existing threat.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words followed by a colon are not padded, but this is under-specification rather than conciseness; the fragment is not even a complete sentence and carries no front-loaded actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool whose only structured context is an untyped `id` and safety annotations, the description should explain the cascade preview semantics and the expected identifier. It supplies none of that, leaving the agent unable to judge inputs or outputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter `id` has 0% schema description coverage, and the description does not say what kind of id it is (threat, object, or generic record) or what happens if it is invalid. With no compensating text, the parameter is entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a fragment that mostly restates the tool name's "cascade info" wording; it never says what is previewed, what object the cascade applies to, or what the response contains. It is distinguishable from list/create/update siblings only by the name itself, not by the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the dozen-plus sibling tools, no mention of prerequisites such as needing an existing threat id, and no note that this is a preview (read-only) versus an applied action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_threats_createApi threats createD
API endpoint that allows threats to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the agent knows this is a non-idempotent write. The description adds nothing beyond that — not what the created threat requires, whether a payload is mandatory, what happens on duplicate/repeat calls, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, but it is boilerplate rather than compressed information — brevity here comes from under-specification, not from economy. Nothing is front-loaded because nothing useful is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A create/mutation tool with no output schema, no documented payload, no annotations covering payload expectations, and a description that never mentions creation. An agent has essentially nothing to call this correctly with.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter (body) has 0% schema description coverage and the description says nothing about its shape or required fields, even though it is typed only as an untyped object with additionalProperties=true. The description must compensate for the coverage gap and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence "allows threats to be viewed or edited" is generic router boilerplate that never states this endpoint CREATES a threat, which is the only thing distinguishing it from the sibling threats_list, threats_retrieve, threats_update and threats_partial_update tools. It restates the resource but not the operation, so an agent cannot tell it apart from the other threat tools without reading the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this versus threats_update, threats_partial_update or threats_batch_action_create, no mention of prerequisites, and no exclusions. Worse, the phrase "viewed or edited" actively points the agent toward the read/update siblings rather than creation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_threats_destroyApi threats destroyDDestructiveIdempotent
API endpoint that allows threats to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations state destructiveHint=true, idempotentHint=true, readOnlyHint=false, but the description presents the endpoint as viewing/editing. Nothing about irreversibility, required permissions, or side effects of deleting a threat is disclosed; the description works against the annotations rather than supplementing them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the one sentence it contains is boilerplate that misstates the operation, so brevity buys nothing. The space available is used to describe the wrong behavior rather than the destructive action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete with no output schema, no annotations beyond the safety hints, and an undocumented id parameter, the description must carry confirmation and consequence information. It provides none, so an agent cannot safely invoke this tool from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single required parameter 'id' is completely unexplained. The description adds no information about what the identifier refers to (threat UUID), so an agent must guess both format and referent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint 'allows threats to be viewed or edited', which never mentions deletion even though the tool name and route are destroy. It describes a read/update capability that this tool does not provide, actively misleading the agent about the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternative named, and no indication that this is the deletion path versus the sibling list/create/update/partial_update threat tools. The implied guidance ('view or edit') would route the agent to the wrong tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_threats_ids_retrieveApi threats ids retrieveCRead-onlyIdempotent
API endpoint that allows threats to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims threats can be "viewed or edited," but annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the schema accepts zero parameters, so no edit is possible. This directly contradicts the structured safety profile an agent relies on.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no redundancy or buried detail. It is efficient, but its brevity comes from boilerplate rather than from deliberate compression of useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless retrieve endpoint with no output schema, the description should at minimum say what comes back (e.g., a list of threat IDs given the "ids" in the name). Instead it repeats generic ViewSet boilerplate that says nothing about the response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters and the schema is an empty object, so there is nothing for the description to document. Baseline 4 applies, though a note that the endpoint returns a list of IDs would have been welcome.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title in generic terms: "API endpoint that allows threats to be viewed or edited." It names the resource (threats) but gives no specific verb or scope, and it is indistinguishable from siblings such as threats_retrieve, threats_list, threats_object_retrieve, or threats_ids_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many other threats read endpoints in the sibling list. The only usage cue, "or edited," is misleading since this operation takes no parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_threats_listApi threats listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| urn | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| library | No | ||
| findings | No | ||
| ordering | No | ||
| provider | No | ||
| max_pages | No | ||
| risk_scenarios | No | ||
| filtering_labels | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, so the safety profile is covered. The description adds essentially nothing usable: 'inject optimized data into the serializer context' is internal implementation jargon and says nothing about pagination (implied by limit/offset/max_pages), filtering behavior, or what the list returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not verbose, but that is because it is under-specified rather than economical. The one sentence it does contain is about internal serializer mechanics, not about the agent-facing operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter list endpoint with no output schema and no documented parameter semantics, the description omits everything an agent needs: what resource is listed, how pagination works, what the filters mean, and how results are shaped.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 13 parameters with 0% description coverage and no enums, and every parameter is nullable and untyped in practice. The description contributes no meaning for any of them – not limit/offset pagination, not search, not ordering, not max_pages, not the relational filters like findings, risk_scenarios, library, or filtering_labels.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an implementation docstring ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does. Only the name and title hint that this lists threat objects, and nothing distinguishes it from siblings such as ciso_assistant_api_threats_retrieve, _object_retrieve, or _ids_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling to pick for a single threat versus a list of threats. An agent has to infer everything from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_threats_object_retrieveApi threats object retrieveDRead-onlyIdempotent
API endpoint that allows threats to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, yet the description claims the endpoint allows threats to be "edited," implying mutation capability this operation does not have. That is a direct contradiction of the structured safety profile rather than value added beyond it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, so there is no verbosity problem; however brevity here comes from boilerplate under-specification rather than discipline, and nothing is front-loaded that helps an agent decide to call it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-record retrieve with no output schema and an undocumented id parameter, the description should at least state what a threat object is and how the id is obtained. It instead leaves the agent with a misleading edit claim and no return-value expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter (id) is undocumented in both schema and description — no indication of format (UUID vs slug vs integer ref_id), source, or behavior when the id is unknown. With only one parameter the gap is small, but the description does nothing to compensate for the zero coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name/title: "API endpoint that allows threats to be viewed or edited" adds only the resource noun (threats) and the generic verb "viewed." It gives no signal about what distinguishes this from the many sibling threat tools (threats_list, threats_retrieve, threats_object_retrieve, threats_cascade_info_retrieve), leaving the agent unable to tell object_retrieve from retrieve or list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the required id lookup or how to obtain one, and no routing to alternatives such as the list endpoint for browsing. The only usage-adjacent statement ("viewed or edited") actively misdirects toward a write path that the annotations say does not exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_threats_partial_updateApi threats partial updateD
API endpoint that allows threats to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is known from structured data. The description adds nothing behavioral beyond that, and the phrase 'viewed or edited' is ambiguous for a mutation endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but it is boilerplate that does not front-load useful information. Its single sentence fails to earn its place because it omits the operation type and parameter meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a partial-update mutation with an arbitrary body object and no output schema, the description gives an agent almost nothing needed to call it correctly. It omits partial-update semantics, required identifier handling, and what body fields may be changed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the required 'id' parameter or the free-form 'body' object. With two undocumented parameters, the description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that this is an 'API endpoint' for threats that can be 'viewed or edited,' which largely restates the title and endpoint nature without specifying that this is a partial update. It does not distinguish this operation from threats_update, threats_retrieve, or threats_create, even though the name implies partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'edited' weakly implies this is for modifying threats, but there is no explicit guidance on when to use this versus threats_update, threats_retrieve, or other sibling tools. No prerequisites, 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.
ciso_assistant_api_threats_provider_retrieveApi threats provider retrieveCRead-onlyIdempotent
API endpoint that allows threats to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The phrase "viewed or edited" implies a mutable endpoint, which conflicts with the annotations (readOnlyHint=true, destructiveHint=false). Beyond that boilerplate, the description adds nothing about authentication, response shape, or that the payload is a provider/choice listing rather than threat records.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the single sentence is autogenerated filler rather than meaningful content, so its brevity comes from under-specification rather than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should at least say what comes back (e.g., a list of threat providers/choices). It does not, leaving the agent unable to predict the response or confirm the endpoint is read-only.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there is nothing for the description to disambiguate; the empty schema is self-explanatory and the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"API endpoint that allows threats to be viewed or edited" is generic boilerplate that restates the endpoint concept without saying what the resource actually is. The name says "threats_provider" (a metadata/provider lookup), but the description speaks about "threats" generally, so it neither identifies the resource precisely nor distinguishes it from siblings like ciso_assistant_api_threats_retrieve, threats_list, or threats_ids_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this instead of the many sibling threats endpoints. An agent has no way to know this is the provider/metadata lookup rather than a record fetch, so selection is guesswork.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_threats_retrieveApi threats retrieveBRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, but the description adds a genuinely non-obvious behavioral trait: unauthorized related fields are masked in the returned object. It does not explain the authorization model or error behavior, but the masking disclosure is real 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with no filler, and the key fact (single object, masked fields) is front-loaded. It is under-specified rather than padded, so it earns high marks on structure without reaching 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one parameter and a safety profile already covered by annotations, the description is minimally adequate. However it omits the resource name, id semantics, and any mention of behavior for missing/unauthorized records, leaving clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description says nothing about the single 'id' parameter—not its meaning (threat identifier), format, or expected failure when the id is unknown. With a mandatory parameter whose semantics are wholly undocumented, the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the operation returns a single object but never names the resource (threat) explicitly, relying on the tool name and title to carry that. It is not a pure tautology because it adds the masking detail, but an agent cannot distinguish it from siblings like threats_object_retrieve or threats_retrieve from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus the many sibling threat endpoints (list, object_retrieve, cascade_info_retrieve, ids_retrieve), nor any prerequisite or exclusion. The caller must infer usage purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_threats_threats_count_retrieveApi threats threats count retrieveCRead-onlyIdempotent
API endpoint that allows threats to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, but the description claims the endpoint allows threats to be 'edited', implying a write capability that the zero-parameter schema and annotations rule out. This is a direct contradiction rather than added context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is concise, but the space is spent on generic framework boilerplate rather than the operation's actual purpose or return value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description is the only place to learn that this endpoint returns a threat count, and it says nothing about the response. For a retrieval tool in a family of near-identical siblings, that leaves the definition materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there is nothing for the description to clarify and the baseline of 4 applies. No parameter-related information is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is boilerplate ('API endpoint that allows threats to be viewed or edited') that names the resource but never says what the endpoint actually does. The tool name indicates a count retrieval, yet the description never mentions counting, so an agent cannot distinguish it from threats_list or threats_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus the many sibling threats endpoints (list, retrieve, ids, provider), nor any prerequisites. The only implied guidance ('viewed or edited') points the agent toward an operation the tool cannot perform.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_threats_updateApi threats updateDIdempotent
API endpoint that allows threats to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true. The description adds no behavioral context such as which threat fields may be edited, required permissions, or mutation effects, and its 'viewed' wording is inconsistent with a mutating endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short, but it is generic filler ('API endpoint that allows...') rather than a front-loaded, actionable description. It is under-specified rather than efficiently concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a required identifier and free-form body object, no output schema, and 0% parameter description coverage, the description is far too thin. It leaves the agent without the information needed to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and there are two parameters: required 'id' and a flexible 'body' object. The description provides no meaning for either parameter, so it 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('threats') but says only that it 'allows threats to be viewed or edited,' which does not clearly identify this as the update operation. It also fails to distinguish itself from sibling tools such as threats_partial_update or threats_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. Worse, saying it allows threats to be 'viewed' is misleading for an update endpoint and could route an agent to the wrong sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_timeline_entries_batch_action_createApi timeline entries batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, non-idempotent, open-world mutation, so the safety profile is covered structurally. The description adds nothing beyond that: no statement of which batch operations are supported, what gets mutated, whether it requires elevated permissions, or how failures in a batch are reported. For a write tool that is a real gap, but annotations keep this above a 1.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no waste, but its brevity comes from under-specification rather than economy. Nothing is front-loaded beyond the generic verb 'batch action'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with no output schema and an empty input schema, the description needed to explain the action vocabulary and target selection. It supplies none of that, leaving the agent unable to construct a correct call from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters with additionalProperties false, which is the baseline-4 case, yet that empty schema is anomalous for a batch action - there is no visible way to name the action type or the target IDs. The description does not explain how the action and object list are conveyed, so it fails to compensate for a genuinely confusing payload shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'Perform a batch action on multiple objects' largely restates the name and title rather than stating a specific verb+resource. It never says the objects are timeline entries, nor what actions are available, so the agent must infer the resource from 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as the per-object update/destroy siblings. The agent is given nothing to decide between this and single-object mutations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_timeline_entries_cascade_info_retrieveApi timeline entries cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 nothing beyond the word 'preview' – it doesn't say what the cascade contains, whether it counts dependent objects, or how it behaves for entries with no dependents. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words is technically short but severely under-specified rather than concise; there is no front-loaded statement of action, scope, or output. Brevity here costs the agent all actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is the only place to explain what a 'cascade preview' returns (presumably the graph/list of dependent records). It supplies none of that, nor the id semantics, leaving the definition inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter 'id' is completely undocumented. The description never clarifies that 'id' is the timeline entry identifier (as opposed to a related-object id) whose downstream deletions are previewed, leaving an ambiguity an agent must guess at.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Cascade preview:' names a concept but no verb or resource object; it doesn't state that it takes a timeline entry ID and returns the related objects that would be affected by deleting it. An agent could not distinguish this from any of the dozens of sibling '*_cascade_info_retrieve' tools or from timeline_entries_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Preview' weakly implies a pre-deletion check, but the description never says when to call it, what alternative exists for inspecting a timeline entry, or that it should be used before a destroy call. No exclusions or sibling routing are provided despite ~600 siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_timeline_entries_createApi timeline entries createD
api_timeline_entries_create
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: it doesn't say what a timeline entry is, what happens on a duplicate call (non-idempotent), or what the open-world dependency entails. No contradiction, but zero added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Technically terse, but the brevity comes from under-specification rather than discipline: it is an identifier dump with no sentence structure and no front-loaded explanation of intent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write tool with a free-form untyped body and no output schema, the definition supplies nothing an agent needs to call it correctly – no payload shape, no required fields, no response expectation. It is wholly inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter 'body' typed as an unrestricted object or null with 0% schema description coverage, meaning the payload shape is completely unknown. The description does not name a single expected field, so an agent cannot construct a valid request body.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is verbatim the tool's internal identifier, 'api_timeline_entries_create'. It only implies creation of a timeline entry by parsing the name, and offers nothing to distinguish it from siblings like timeline_entries_batch_action_create or timeline_entries_partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to create a timeline entry, what preconditions apply, or how this differs from the many sibling mutation tools in the list. An agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_timeline_entries_destroyApi timeline entries destroyDDestructiveIdempotent
api_timeline_entries_destroy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is carried by structured data. With that lower bar, the description still adds absolutely nothing – no mention of what gets removed, irreversibility, or auth/permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than efficiency – the one line conveys no information an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, open-world endpoint with an undocumented identifier and no output schema needs at least a sentence of context. Annotations cover the safety hint, but nothing else is covered and the description supplies none of it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage, and the description does not explain whether it is a UUID, the timeline entry identifier, or something else. The description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally 'api_timeline_entries_destroy' – a restatement of the tool name. It gives no verb+resource in natural language and does not differentiate this destructive call from siblings like timeline_entries_partial_update or timeline_entries_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or what alternatives exist (e.g. soft-delete vs hard delete, or retrieving before destroying). Nothing routes the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_timeline_entries_entry_type_retrieveApi timeline entries entry type retrieveCRead-onlyIdempotent
api_timeline_entries_entry_type_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered elsewhere. The description contributes no additional behavioral context beyond the name - not what the endpoint returns, nor whether it is a static enum-style lookup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the economy is accidental - it is a bare identifier with no verb-object structure or front-loaded intent. Every word is a duplication of the tool name rather than information the agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 0 parameters and no output schema, the description carried the full burden of explaining the response, yet it leaves open what an 'entry type' object looks like and whether it is a fixed enumeration. An agent could not confidently predict the return shape from this text.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. The only thing it could usefully clarify is that 'entry type' refers to a choices value rather than a path parameter, which it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool identifier with underscores replaced by spaces, which mostly restates the name rather than stating the operation. 'Retrieve timeline entries entry type' loosely hints at fetching the entry_type choices for timeline entries, but the agent must infer that from the route shape alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to call this versus siblings such as ciso_assistant_api_timeline_entries_retrieve or ciso_assistant_api_timeline_entries_list. Nothing distinguishes it from the object/retrieve endpoints in the same family.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_timeline_entries_listApi timeline entries listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| incident | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
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 structurally. The description adds only an internal serializer-context remark and discloses nothing useful such as pagination, filtering behavior, or what the 'optimized data' means for results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is compact, but conciseness only earns credit when content is meaningful. Here the sole sentence is implementation jargon that conveys no actionable information, so the brevity reflects under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list endpoint with seven undocumented query parameters and no output schema, the definition should explain filtering, paging and return shape. Annotations cover the read-only nature, but the description supplies nothing about how to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Seven parameters (id, limit, offset, search, incident, ordering, max_pages) with 0% schema description coverage, and the description mentions none of them. Neither the schema nor the description explains what any of these filters or paging controls do, leaving a full gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text describes an internal implementation detail ('Override the list method to inject optimized data into the serializer context') rather than stating what the tool does for a caller. An agent can only infer from the tool name/title that this lists timeline entries; the description itself never names the resource or its scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or how it differs from siblings like ciso_assistant_api_timeline_entries_object_retrieve or _retrieve. The sentence is addressed to a developer overriding a method, not to an agent choosing a tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_timeline_entries_object_retrieveApi timeline entries object retrieveDRead-onlyIdempotent
api_timeline_entries_object_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered without the description. The description adds nothing beyond that — no note on what a timeline entry contains, whether the id is a UUID or slug, or what happens on a missing id. It does not contradict the annotations, but it contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than concision; the single string spends no words on anything useful and lacks any front-loaded statement of action or return.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotation gap being filled, an undocumented required id, and roughly a thousand sibling tools, the definition leaves the agent unable to distinguish this call from its neighbors or to know what it will receive back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has 0% schema description coverage and the description says nothing about it — no format, no source (where to obtain the id), no alternative identifiers. A lone identifier parameter for an object lookup is exactly the case where the description must compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the identifier verbatim ('api_timeline_entries_object_retrieve'), so any meaning comes from parsing the name rather than from prose. It implies fetching a timeline entry, but it is tautological and gives no scope, no indication of what a timeline entry is, and no differentiation from siblings like ciso_assistant_api_timeline_entries_list or ..._retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to use this tool, when not to, or how it relates to the many nearby siblings (list, cascade_info_retrieve, entry_type_retrieve, object_retrieve). The agent must infer everything from the naming convention.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_timeline_entries_partial_updateApi timeline entries partial updateD
api_timeline_entries_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that — no mention of what fields can be changed, whether omitted fields are preserved (the key semantic of a PATCH), or what happens on unknown ids.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here reflects under-specification rather than conciseness; a bare identifier with no verb, object, or constraint is not a front-loaded description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with an untyped free-form body parameter, 0% schema coverage, and no output schema. The description supplies none of the missing information an agent would need to construct a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two parameters, and the description provides no compensating information. Critically, the 'body' parameter is a free-form object with additionalProperties=true, and the description never explains what keys belong inside it — this is the single most important gap for calling the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the operation identifier restated ('api_timeline_entries_partial_update'), which at best parses to 'partially update a timeline entry'. That is a tautological restatement of name/title rather than an explanation, and it does nothing to distinguish this from the many sibling *_partial_update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use partial update versus ciso_assistant_api_timeline_entries_update, create, or batch_action. The 'partial' vs 'full' distinction must be inferred entirely from the token in the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_timeline_entries_retrieveApi timeline entries retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description's one real contribution is disclosing that unauthorized related fields are masked in the response, which is behavioral context not present in annotations. It stops short of saying which fields are masked or how missing/forbidden IDs 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, which is good, but the terseness is under-specification rather than economy — the one sentence omits the resource, the identifier, and the return shape.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-object lookup with one undocumented parameter and no output schema, the description should state what entity is returned and roughly what the object contains. Neither is present, leaving the agent unable to confirm this is the timeline entry read it wants.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, id, with 0% schema description coverage, so the description carries the full burden. It says nothing about what the id identifies (primary key? ref_id? UUID format?) or the failure behavior for an unknown id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Return a single object" is a generic verb+generic-resource that never names the resource (a timeline entry) or that it is selected by ID. It also fails to distinguish this from the sibling ciso_assistant_api_timeline_entries_object_retrieve, which appears to do the same thing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, no when-not-to-use, and no mention of the very similar object_retrieve sibling. An agent choosing between this and the sibling has nothing to go on from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_timeline_entries_updateApi timeline entries updateDIdempotent
api_timeline_entries_update
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, but the description adds no context whatsoever about what gets modified, permission requirements, whether omitted fields are cleared, or side effects. For a mutation tool with a bare identifier string as the description, no behavioral value is added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is tiny, but this is under-specification rather than conciseness. A single identifier string cannot be front-loaded because it carries no information at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A two-parameter mutation tool with 0% schema description coverage, no output schema, and no annotations explaining the semantics of the write. The description supplies none of the missing context needed to invoke it safely or correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description supplies nothing. The required 'id' (a string) and the opaque 'body' object with additionalProperties=true are both completely undocumented, leaving the agent no idea what payload shape to send.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal tool name with underscores turned into a string, restating the title without any verb, resource meaning, or explanation of what 'update' does to a timeline entry. It does not distinguish this tool from siblings such as ciso_assistant_api_timeline_entries_partial_update, create, or destroy. Nothing beyond the identifier is conveyed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus partial_update, batch_action_create, create, or destroy for timeline entries. An agent must infer the difference between a full update and a partial update entirely from the name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_user_groups_batch_action_createApi user groups batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare this is a non-read-only (readOnlyHint=false), non-idempotent, open-world write, so the safety profile comes from structured data rather than the description. But the description adds nothing about what 'batch action' means operationally — which objects are affected, what authorization is required, or whether the operation is reversible. For an opaque bulk write this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no wasted words, but the brevity is under-specification rather than efficiency — nothing is front-loaded because nothing informative is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent bulk mutation with no input schema, no output schema, and no explanatory text, the description leaves the agent unable to determine targets, operation type, or effects. Everything an agent needs in order 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero declared parameters the baseline would be 4, but the schema's empty object with additionalProperties=false leaves no way to specify which objects the 'batch action' targets, and the description never explains this either. The description therefore adds no semantic value to an already puzzling zero-parameter signature.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name ('batch action') and says 'multiple objects' without ever naming the resource. From the text alone an agent cannot tell that this operates on user groups, nor what the batch action actually does (bulk delete, update, create?). Sibling tools like ciso_assistant_api_users_batch_action_create and dozens of other batch_action_create variants are indistinguishable from this phrasing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this batch endpoint versus the single-object siblings (user_groups_create, user_groups_update, user_groups_destroy), no prerequisites, and no exclusions. The text gives the agent nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_user_groups_cascade_info_retrieveApi user groups cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 adds no safety information and does not contradict them. It also fails to disclose the behavior that matters most for a preview endpoint: that the result depends on the current state of the group and its linked objects, and that calling it again after changes may yield different output despite idempotentHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words and a colon – technically zero waste, but this is under-specification rather than conciseness. Nothing is front-loaded because there is essentially no content to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A cascade-preview endpoint is inherently subtle (what gets deleted vs detached, permission requirements, whether the preview is authoritative before a destructive call) and there is no output schema to fall back on. For a required-id tool with no annotations explaining return shape, this definition leaves the agent unable to call or trust the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the lone required parameter "id" is undocumented in both schema and description. The description does not say whether this is the user-group id, nor what format (integer vs string) or source it comes from, so it does not compensate for the coverage gap as required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is a truncated label that echoes the name's 'cascade' and 'retrieve' tokens without stating what is being previewed or for which object. An agent cannot tell from this text whether it returns a list of impacted objects, counts, or a protected-objects warning, nor how it differs from sibling cascade tools such as ciso_assistant_api_users_cascade_info_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the alternative (performing the delete directly, or calling ciso_assistant_api_user_groups_destroy), and no prerequisites. The trailing colon even suggests text was cut off, leaving the agent with nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_user_groups_createApi user groups createD
API endpoint that allows user groups to be viewed or edited
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, so the write shape is known from structured data. The description adds nothing — no mention of required permissions, what happens on duplicate group names, or what the response contains — and its 'viewed' wording sits awkwardly against a non-read-only create endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here comes from under-specification, not efficiency: a single boilerplate sentence that communicates no operation-specific information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A create endpoint taking an untyped body object, with no output schema and no annotations covering payload shape, needs the description to explain the request body and the create semantics. Neither is present, so an agent cannot call this correctly without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one free-form 'body' parameter with 0% schema description coverage and no required fields, and the description says nothing about what the body should contain (group name, permissions, users). With a completely opaque anyOf object, the description carries the full burden and fails to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST boilerplate ('API endpoint that allows user groups to be viewed or edited') and never states that this tool creates a user group, so the specific verb in the tool name is not reflected. It also blurs scope by implying view/edit operations, making it hard to distinguish from the sibling _list, _retrieve, and _update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many sibling user-group endpoints (_list, _retrieve, _update, _partial_update). The phrase 'viewed or edited' actively muddies the selection decision rather than resolving it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_user_groups_destroyApi user groups destroyDDestructiveIdempotent
API endpoint that allows user groups to be viewed or edited
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, but the description says groups can be 'viewed or edited' — implying a read/update operation and omitting deletion entirely. It adds no context about what gets destroyed or whether deletion cascades, contradicting the destructive annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, but its brevity comes from boilerplate rather than precision — it is under-specified, not concise, and the only content it does convey is wrong for this endpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema, the description should at minimum state that it permanently removes the group and what happens on success or failure. It supplies none of that and instead describes viewing/editing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description says nothing about the single 'id' parameter. The parameter is self-explanatory as an identifier, but the description makes no attempt 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (user groups) but pairs it with the generic verbs 'viewed or edited', never stating that this endpoint deletes a group. The tool name ends in '_destroy', so the description actively misdirects an agent about the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as user_groups_update, user_groups_partial_update, or user_groups_retrieve. An agent gets no signal that this is the irreversible delete path rather than the edit path the text suggests.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_user_groups_listApi user groups listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so safety is covered. The description adds nothing behavioral — no note on what the "optimized data" means for the response, no pagination or permission context; it reads as a code comment leaked into user docs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, but the sentence's content is not useful to an agent, so brevity does not translate into value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A paginated list endpoint with six undocumented parameters and no output schema needs the description to explain filtering, ordering and return shape; instead it delivers only an internal serializer note. An agent cannot call this correctly from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Six parameters (id, limit, folder, offset, ordering, max_pages) have 0% schema description coverage, and the description mentions none of them. The description must compensate for that gap and instead contributes zero parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates an internal implementation detail ("Override the list method to inject optimized data into the serializer context") rather than stating what the tool does for a caller. It never names the resource being listed, so the agent must infer "user groups" from 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus sibling list/retrieve tools (e.g. user_groups_retrieve, users_list, teams_list), and no mention of filtering or pagination scenarios. Only the bare verb "list" weakly implies its usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_user_groups_object_retrieveApi user groups object retrieveDRead-onlyIdempotent
API endpoint that allows user groups to be viewed or edited
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint allows user groups to be 'viewed or edited', which directly conflicts with the readOnlyHint=true annotation. Beyond this contradiction, it adds no behavioral context such as return format, permissions, or lookup semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no wasted words, but it is generic boilerplate and not front-loaded with useful operational detail. Its brevity reflects under-specification more than strong conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with one required parameter and no output schema, the description should at least clarify that it returns a single user group by id. Instead it gives a vague 'viewed or edited' statement that omits return behavior and contradicts the read-only annotation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has one required parameter, 'id', but schema description coverage is 0% and the description does not explain that the id identifies a specific user group. The parameter name and type provide minimal intrinsic meaning, but the description adds no semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the resource generically as an 'API endpoint' for user groups but gives only 'viewed or edited' as the operation, which does not precisely describe an object retrieval tool. It also fails to distinguish this tool from sibling user_groups_retrieve, user_groups_list, or user_groups_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance about when to use this tool instead of the many sibling user group tools. It does not mention required identifiers, lookup behavior, or any alternative tools for listing or editing user groups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_user_groups_partial_updateApi user groups partial updateD
API endpoint that allows user groups to be viewed or edited
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true; the description adds nothing beyond them. Worse, "viewed or edited" blurs read and write semantics on a tool whose annotations mark it as a mutation, and it says nothing about merge/partial semantics or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity without substance is under-specification rather than conciseness. The single sentence carries no actionable information and is boilerplate copied from the DRF endpoint docstring.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a free-form body, no output schema, and zero parameter documentation, the description covers none of what an agent needs. Nothing explains the payload shape, the response, or the effect of the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the only substantive parameter is a free-form "body" object with additionalProperties: true. The description does not enumerate a single field, so an agent has no way to know what to put in the patch payload — the schema cannot compensate here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Allows user groups to be viewed or edited" restates the resource name without naming the operation. It never says this is a PATCH/partial update, so from the text alone an agent cannot distinguish it from the sibling user_groups_update, user_groups_retrieve, or user_groups_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all: no mention of partial-vs-full update, no prerequisites, no alternatives. The only cue is the word "edited", which is far too weak given that four sibling tools operate on the same resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_user_groups_retrieveApi user groups retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 covered without help. The description does add one genuinely useful behavioral fact beyond the annotations — that unauthorized related fields are masked per permission — but does not say what masking looks like in the payload, whether a partial result or an error results when the caller lacks access, or what happens for a nonexistent id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single eleven-word sentence with zero padding and the key qualifier (masked fields) placed early. It is efficient but so terse that the size reflects under-specification rather than well-chosen brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the burden of explaining the returned shape and error behavior — it gives only 'single object' plus a masking note. Combined with an undocumented id parameter and no routing against the list/object_retrieve siblings, an agent cannot reliably call this or interpret its result without opening the API elsewhere.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single required parameter with 0% schema description coverage, so the schema contributes nothing; the description does not say what `id` is (UUID vs numeric pk), where to obtain it, or whether it identifies the group or a membership. Baseline 3 applies for a one-parameter read tool, but no compensating detail is offered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Return a single object with unauthorized related fields masked" mostly restates the 'retrieve' verb already in the name; it never says the resource is a user group, so the description alone cannot distinguish this from ciso_assistant_api_users_retrieve or any other *_retrieve tool. It does distinguish single-object from list semantics, which is the only real signal added.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no alternatives named. The sibling set contains both ciso_assistant_api_user_groups_list and ciso_assistant_api_user_groups_object_retrieve, and the description gives no basis for choosing among them, nor any prerequisite such as needing an id from the list endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_user_groups_updateApi user groups updateDIdempotent
API endpoint that allows user groups to be viewed or edited
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the incremental behavioral bar is low, yet the description adds nothing: it doesn't say whether the update is full-replace, what happens to omitted fields, whether permissions/roles are required, or whether the operation is reversible. The phrase 'viewed or edited' also muddies the read/write distinction the annotations establish.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is appropriately sized and front-loaded. The problem is under-specification rather than verbosity, and the one clause it does contain is boilerplate rather than useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with no output schema, an opaque anyOf 'body' parameter, and a large family of near-identical user_groups siblings, the description supplies nothing an agent needs: no payload shape, no replace-vs-merge semantics, no return information, no prerequisite permissions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 2 parameters, and the free-form 'body' object gives the agent no idea what fields are updatable (name, users, roles, permissions). The description contributes zero parameter meaning, so it neither compensates for the coverage gap nor explains that 'id' identifies the group being replaced versus patched.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'API endpoint that allows user groups to be viewed or edited' only restates the resource name and adds a generic REST boilerplate clause. It never says 'update' specifically, and does not distinguish this tool from the many siblings that read the same resource (user_groups_retrieve, user_groups_list, user_groups_object_retrieve) or that also mutate it (user_groups_partial_update, user_groups_create, user_groups_destroy).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool rather than user_groups_partial_update, user_groups_create, or the retrieve/list variants. The only hint, 'viewed or edited', actually blurs the choice by implying this call can also read, leaving the agent to infer from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_user_preferences_partial_updateApi user preferences partial updateC
api_user_preferences_partial_update
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false and non-idempotent behavior, so the safety profile is known from structured data. The description contributes nothing beyond that—no info on which preference fields are mutable, whether omitted fields are preserved, or auth/scope requirements for the PATCH.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single unformatted identifier provides no structure or front-loading of useful content. This is under-specification rather than genuine conciseness; no sentence earns its place because there is effectively no prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema and minimal annotations, the description should explain what a 'partial update' of user preferences changes and what it returns. It omits all of this, leaving the agent to guess at the mutation's effect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero properties, so per the baseline rule a 4 applies; there are no parameters whose semantics the description would need to explain. The description nonetheless mentions nothing about the implicit request body, which a real PATCH endpoint would expect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the machine name repeated ('api_user_preferences_partial_update'), a tautology that restates the title. An agent can infer PATCH-style updates on user preferences only from the name's tokens, not from any descriptive sentence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus the sibling ciso_assistant_api_user_preferences_retrieve or the users_partial_update tools. No prerequisites, no mention that it likely targets the current user's preferences.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_user_preferences_retrieveApi user preferences retrieveCRead-onlyIdempotent
api_user_preferences_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so the safety profile is covered. The description adds no behavioral context — not whose preferences are returned, not whether authentication identifies the user implicitly, and not what the payload contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Brevity here comes from omission rather than economy; the single token is a slug, not a sentence. It is front-loaded only in the trivial sense that there is nothing else.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema and a user-facing resource, the description is the only place to state whose preferences are returned and what they include. It states none of this, leaving a real gap for an agent that must decide whether to call it at all.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema-coverage baseline of 4 applies. The description neither adds nor detracts from parameter understanding here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name restated verbatim ('api_user_preferences_retrieve'), which is tautological rather than explanatory. It does not clarify what preferences are returned, whether they are the caller's own or a specified user's, nor distinguish it from the sibling partial_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus alternatives. The agent can infer only from the name that this reads preferences and that ciso_assistant_api_user_preferences_partial_update modifies them; nothing in the text states this.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_users_batch_action_createApi users batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered, but the description adds nothing: it does not say what payload a 'batch action' requires, whether partial failures are tolerated, or whether the effect is reversible. For a non-idempotent mutation the phrase 'batch action on multiple objects' conveys almost no behavioral information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, so it is structurally clean and front-loaded. But the brevity comes from under-specification rather than economy: nothing concrete is stated that would earn the sentence's place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A non-idempotent, open-world mutation with no parameters, no output schema, and no usable description. An agent cannot determine from this definition which resource is affected, what action to request, or what to send; the definition is not sufficient to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero properties and `additionalProperties: false`, so the 0-parameter baseline would normally apply. However, the description claims the tool acts 'on multiple objects', which implies object identifiers and an action selector must be supplied, yet no parameter is documented or permitted — the description leaves that mismatch unexplained rather than compensating for it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool's name in generic terms: 'Perform a batch action on multiple objects.' It never names the resource (users), which is only discoverable from the tool name, and never says what the batch action does or which operations are supported. Against dozens of identically phrased sibling `*_batch_action_create` tools, this gives an agent no way to distinguish it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this instead of the per-object tools (`ciso_assistant_api_users_create`, `..._partial_update`, `..._destroy`) or instead of other resources' batch endpoints. No preconditions, no exclusions, no alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_users_cascade_info_retrieveApi users cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 known. The description adds nothing beyond that — it does not explain what a "cascade preview" reveals (e.g., dependent objects affected by deleting a user), whether it mutates anything, or what the response shape is. No contradiction with annotations, but zero added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words with a trailing colon are technically concise but represent under-specification rather than economy; there is no front-loaded statement of purpose to be concise about.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A read-only retrieve tool with a required identifier and no output schema needs the description to explain what the preview contains and what the id identifies. Neither is covered, leaving the agent unable to use the tool confidently despite the helpful annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter "id" has 0% schema description coverage, and the description says nothing about it — not whether it is a user UUID, username, or integer PK. With a low-coverage schema, the description was the only place this could be clarified and it was not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Cascade preview:" is essentially a restatement of the name/title (cascade info retrieve) and never names the resource (users) or what is being previewed. The word "preview" hints at a dry-run/impact report, but an agent cannot tell from this text what the tool actually returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is mentioned. With dozens of sibling *_cascade_info_retrieve tools, nothing here distinguishes the users variant or explains what to do after seeing the preview.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_users_createApi users createD
API endpoint that allows users to be viewed or edited
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already say readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true. The description adds nothing: it does not say a new user record is persisted, what permissions or admin rights are needed, whether fields such as email/username/password are required, or what happens on conflict. The "viewed or edited" phrasing obscures the write behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, so it is superficially concise, but the sentence is boilerplate that conveys no operational information. Brevity here amounts to under-specification rather than tight, front-loaded guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation endpoint with an undocumented object body, no output schema, and siblings that perform adjacent operations, the description should explain the payload, permissions, and return behavior. It does none of these, leaving the definition inadequate to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter is an opaque `body` object with additionalProperties=true and 0% schema description coverage, so the shape of a user payload is completely undocumented. The description does not list a single field name (username, email, roles, etc.) to compensate, leaving the parameter effectively unusable without trial and error.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text restates a generic DRF docstring ("API endpoint that allows users to be viewed or edited") and never states that this tool creates a user, which is what the name and route indicate. It names the resource but the action is wrong or at best ambiguous, so an agent cannot tell it apart from users_list, users_update, or users_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance appears in the text, and what is there actively points the agent toward viewing or editing users rather than creating one. With users_list, users_update, and users_partial_update as siblings, the description provides no signal for choosing this tool and is misleading about its operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_users_destroyApi users destroyDDestructiveIdempotent
API endpoint that allows users to be viewed or edited
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false and idempotentHint=true, so the safety profile is carried by structured data. The description adds no complementary context (what is removed, cascade behavior, permission requirements) and its phrase 'viewed or edited' actively obscures the destructive nature of the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, but it is boilerplate rather than a useful front-loaded statement. Brevity here comes from under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, open-world mutation with no output schema and no annotations beyond the hints needs a description explaining what deletion entails and what permissions are required. The current text covers none of this and mislabels the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' has zero schema description coverage, and the description says nothing about it. It does not clarify whether the id is a UUID, slug, or integer, nor whether related objects are affected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django REST boilerplate ('allows users to be viewed or edited') and never states that this endpoint deletes a user. It effectively restates the resource name while omitting the specific verb that the tool name (destroy) implies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus the many sibling user endpoints (retrieve, list, partial_update, update). No prerequisites, no exclusions, no mention of irreversible removal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_users_listApi users listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| No | |||
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| is_active | No | ||
| last_name | No | ||
| max_pages | No | ||
| first_name | No | ||
| expiry_date | No | ||
| is_approver | No | ||
| user_groups | No | ||
| is_third_party | No | ||
| exclude_current | No | ||
| keep_local_login | No | ||
| representative__entity | No | ||
| is_applied_control_owner | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds nothing useful beyond a vague claim about "optimized data" in the serializer context; it does not explain pagination (limit/offset/max_pages), default ordering, or result shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but entirely wasted — it is an internal code comment with no actionable content for tool selection or invocation. Brevity here reflects under-specification rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 18-parameter list endpoint with no output schema and no parameter documentation, the description supplies nothing an agent needs. Filter semantics, pagination behavior, and return format are all undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Eighteen parameters with 0% schema description coverage, and the description explains none of them. Fields like exclude_current, keep_local_login, representative__entity, is_applied_control_owner and max_pages are entirely opaque to an agent, which cannot infer semantics or formats from either source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates an internal implementation detail ("Override the list method to inject optimized data into the serializer context") rather than telling the agent what the tool does. It never states that it lists/searches user accounts, nor what entity is returned. Only the tool name and title hint at the resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus alternatives such as ciso_assistant_api_users_retrieve, ciso_assistant_api_users_object_retrieve, or ciso_assistant_api_user_groups_list. No prerequisites, no exclusions, no context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_users_object_retrieveApi users object retrieveCRead-onlyIdempotent
API endpoint that allows users to be viewed or edited
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations explicitly set readOnlyHint=true and destructiveHint=false, yet the description claims the endpoint allows users to be 'edited', implying a write capability the annotations deny. This direct inconsistency is serious for an agent deciding whether it is safe to call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no waste, but that brevity comes at the cost of substance rather than through efficient front-loading. Short but under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what a retrieved user object contains and how the identifier is formed. It says nothing about the return shape, permissions, or error behavior, leaving a retrieve endpoint with an undocumented id parameter substantially underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the sole parameter 'id' is undocumented in both the schema and the description. The description adds no information about whether the id is a UUID, integer, or what format it takes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (users) but pairs it with a vague dual purpose ('viewed or edited'), which muddles the specific verb. It restates the title rather than sharply distinguishing this retrieve endpoint from its many siblings like ciso_assistant_api_users_retrieve and ciso_assistant_api_users_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this object-retrieve endpoint versus the sibling retrieve/list endpoints for users. A reader cannot infer from the text which one to pick or what preconditions apply.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_users_partial_updateApi users partial updateD
API endpoint that allows users to be viewed or edited
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, so the description has a lower burden, but it adds nothing: no mention of which user fields are mutable, whether changes are partial/merged, permission requirements, or side effects. "Viewed or edited" also blurs the read/write boundary that annotations set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but is filler boilerplate rather than front-loaded signal. Brevity here comes from under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, 0% schema coverage, and only generic annotations, the description must carry the load — and it does not. An agent lacks the identity format, the mutation semantics of the body, and any notion of partial-vs-full update.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 2 parameters: the required id and an opaque free-form body object are entirely undocumented. The description contributes nothing about how to identify the user or what the body should contain, leaving the agent with no semantic anchor at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is Django REST boilerplate: "API endpoint that allows users to be viewed or edited" restates the resource name and adds only the generic verbs "viewed or edited." It never says this is a partial update (PATCH) of an existing user, so an agent cannot distinguish it from ciso_assistant_api_users_update, users_retrieve, or users_partial_update siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Viewed or edited" hints at read/write but gives no when-to-use guidance, no distinction from the full-update or retrieve siblings, and no prerequisite or permission context. An agent must guess which of the many users_* tools to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_users_retrieveApi users retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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), so the description's added value is the disclosure that unauthorized related fields are masked — a genuine behavioral trait an agent needs when interpreting partial results. Beyond that one clause it says nothing about 404 behavior, permission requirements, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, and the most decision-relevant fact (masking) is front-loaded. It is efficient, though its brevity comes at the cost of substance elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only lookup with no output schema, the description covers the notable surprise (masked fields) but leaves the resource identity implicit and says nothing about what happens when the id does not exist or is not permitted. Adequate as a minimum, not self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% — the single required 'id' parameter is documented nowhere. The description makes no reference to the identifier at all (no format, no ID type, no indication that it is the user's PK/UUID), so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Return a single object' but never names the resource — the fact that it returns a *user* is only inferable from the tool name and the users_* sibling family. The verb is implied rather than stated, and nothing distinguishes it from siblings like ciso_assistant_api_users_object_retrieve or ciso_assistant_api_users_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no mention of when to pick this over ciso_assistant_api_users_list, ciso_assistant_api_users_object_retrieve, or ciso_assistant_api_iam_current_user_retrieve. No prerequisites (e.g. required permission level) are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_users_updateApi users updateDIdempotent
API endpoint that allows users to be viewed or edited
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so safety profile is covered. The description adds nothing beyond that and its 'viewed or edited' phrasing blurs a write-only endpoint into a read operation, which could mislead an agent. No mention of permissions, partial-vs-full semantics, or what happens to omitted fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no wasted words, but its brevity comes from vagueness rather than precision, so it is adequately sized yet uninformative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool on a security-relevant user resource, with a free-form body schema and no output schema, needs the description to state which fields are writable, whether it replaces or merges, and what permissions are required. None of that is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description gives no information about either parameter. The `body` parameter is a free-form object with additionalProperties=true, so without the description naming valid user fields (email, name, groups, roles, etc.) the agent has no way to construct a valid update payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name in generic terms ('API endpoint that allows users to be viewed or edited') and never says what an update actually does or which user fields are mutable. It does not distinguish this update endpoint from ciso_assistant_api_users_partial_update, ciso_assistant_api_users_retrieve, or ciso_assistant_api_users_list, all of which appear as siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no mention of the obvious alternative, users_partial_update, which is the natural choice for partial edits. The agent is left to infer from the name alone that this is a full replace operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_validation_flows_batch_action_createApi validation flows batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true; the description adds nothing beyond that profile. It does not say what the batch action does to the objects, whether it is reversible, whether it requires specific permissions, or whether it is atomic/partial on failure. No contradiction, but no added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler — structurally clean and front-loaded. However, brevity here comes from under-specification rather than precision, so it earns no more than a middling score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation endpoint with no output schema, an empty input schema, and an extremely crowded sibling space of near-identical batch tools. The description supplies none of the context needed to invoke it correctly or to choose it over alternatives, so it is materially incomplete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema exposes zero parameters, which nominally puts the baseline at 4, but the description's claim to act 'on multiple objects' implies inputs (object identifiers, action type) that the schema does not surface and the description never explains. An agent cannot tell how the target objects or the action are supplied, so a middle score reflects the mismatch rather than schema quality.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a verb ('Perform a batch action') and a scope ('multiple objects'), but never names the resource — validation flows. Against ~100 sibling *_batch_action_create tools with identical wording, only the tool name distinguishes this one, so the description itself does not tell an agent what entity it operates on.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this instead of individual create/update calls, no prerequisite (e.g. selecting existing validation flow IDs), and no mention of what batch operations are supported. The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_validation_flows_cascade_info_retrieveApi validation flows cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so safety is covered. The description adds nothing beyond that—not what a 'cascade preview' returns, whether it is a dry-run computation, or what objects are affected—so it contributes no behavioral value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness: a dangling colon with no payload. There is no sentence structure or front-loaded explanation to speak of.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotation nuance, and an undocumented id parameter, the description must carry the full burden and does not. An agent cannot determine what this returns or how to interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter 'id' with 0% schema description coverage, so the schema gives no semantic detail. The description only says 'cascade preview' and does not clarify whether 'id' is a validation flow id, a node id, or something else, leaving the one parameter ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a two-word fragment, "Cascade preview:", that largely restates the name/title (cascade_info_retrieve) rather than stating a verb and resource. It hints at previewing cascading effects for a validation flow, but never says what is retrieved or what 'cascade' means here.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many sibling retrieve endpoints (retrieve, object_retrieve, linked_models_retrieve, status_retrieve). No prerequisites, no exclusions, no alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_validation_flows_createApi validation flows createD
API endpoint that allows validation flows to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so the write/non-idempotent nature is covered structurally. The description adds nothing about what is created, required permissions, side effects, or what happens on duplicate submission, and its "viewed or edited" phrasing softly conflicts with a create-only endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so there is no bloat, but that brevity comes from under-specification rather than efficiency: the sentence is generic boilerplate that conveys no tool-specific information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent mutation endpoint with an opaque free-form body, no output schema, and no annotations describing the payload, the description supplies none of the missing context an agent would need to construct a valid create request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter is an untyped `body` (anyOf object/null) with 0% schema description coverage, and the description provides zero information about what payload fields a validation flow requires. With the schema carrying no semantics, the description was the only place this could be explained and does not do so.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic Django-REST boilerplate ("allows validation flows to be viewed or edited") and never states that this endpoint creates a validation flow, which is what the tool name and create semantics imply. It does name the resource (validation flows) but not the operation, so it fails to distinguish itself from the many sibling list/retrieve/update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no reference to alternatives such as validation_flows_list, validation_flows_update, or validation_flows_partial_update. Worse, "viewed or edited" actively points the agent toward read/update usage, which is the opposite of this create endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_validation_flows_default_ref_id_retrieveApi validation flows default ref id retrieveCRead-onlyIdempotent
API endpoint that allows validation flows to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims the endpoint allows flows to be 'viewed or edited,' while annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. That is a direct contradiction of the declared behavior, and no real behavioral context is added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, but that brevity comes from boilerplate rather than precision. It is under-specified rather than efficiently scoped.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless retrieve with no output schema, the description should at least explain what object is returned and how the 'default ref id' lookup resolves. Neither is addressed, leaving the agent unable to predict the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The only gap is that it never says whether the flow is identified implicitly by path context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the resource ('validation flows') with generic boilerplate 'viewed or edited' rather than a specific verb. The 'default ref id' aspect, which distinguishes this from ciso_assistant_api_validation_flows_retrieve and _object_retrieve, is never explained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance at all on when to use this versus the many sibling retrieval endpoints (retrieve, object_retrieve, list, cascade_info_retrieve). Nothing indicates what 'default ref id' means or when it is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_validation_flows_destroyApi validation flows destroyDDestructiveIdempotent
API endpoint that allows validation flows to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=true, yet the description frames the endpoint as one that 'allows validation flows to be viewed or edited', implying a read/edit operation. That directly conflicts with the declared delete semantics and tells the agent nothing about irreversibility of the deletion. Annotation Contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so not bloated, but the sentence is generic auto-generated boilerplate that conveys no correct information about this operation. Brevity here is under-specification rather than concise signalling.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive single-resource delete with no output schema and a completely undocumented parameter, the description should at minimum state that the validation flow is permanently removed. Instead it describes viewing/editing, so an agent has no reliable basis to call it correctly or to warn about consequences.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the single required 'id' parameter carries no documentation anywhere. The description does not say what the id identifies (validation flow UUID vs. ref id) or what happens if it is invalid, leaving a gap that only the schema shape partly mitigates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (validation flows) but the stated action, 'viewed or edited,' is boilerplate that does not match a destroy endpoint at all. An agent reading only the description would not know this tool deletes a validation flow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given, and none of the obvious alternatives (validation_flows_update, validation_flows_partial_update, validation_flows_retrieve) are mentioned. Usage must be inferred entirely from the tool name suffix 'destroy'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_validation_flows_linked_models_retrieveApi validation flows linked models retrieveARead-onlyIdempotent
Return available model types that can be linked to validation flows
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 the useful clarification that the set returned is the available (global) linkable types rather than the models already linked to a specific flow, but it says nothing about response shape or ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the verb and resource, with zero filler. Appropriate for a trivial metadata endpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter read endpoint this is close to adequate, but with no output schema the description gives no hint of the return structure (e.g., list of strings vs. objects with a model-type key), which is the main thing an agent needs in order to consume the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; no parameter-related gap exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Return") and a specific resource ("available model types that can be linked to validation flows"), which is enough to distinguish it from the CRUD siblings like validation_flows_list or validation_flows_retrieve. It does not name any sibling explicitly, but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied: an agent would call this to discover which model types may be attached to a validation flow. There is no explicit statement of when to call it versus validation_flows_cascade_info_retrieve or object_retrieve, and no mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_validation_flows_listApi validation flows listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| limit | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| approver | No | ||
| ordering | No | ||
| policies | No | ||
| evidences | No | ||
| max_pages | No | ||
| requester | No | ||
| crq_studies | No | ||
| ebios_studies | No | ||
| linked_models | No | ||
| filtering_labels | No | ||
| risk_assessments | No | ||
| entity_assessments | No | ||
| security_exceptions | No | ||
| findings_assessments | No | ||
| compliance_assessments | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so safety is covered. The description adds nothing behavioral — no report on pagination (limit/offset/max_pages), filtering, or result shape — just an internal serializer note. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, so there is no padding, but it is spent on implementation jargon rather than user-facing purpose. Brevity here reflects under-specification rather than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 21-parameter list endpoint with no output schema and no annotations covering pagination or filtering demands substantive description. This provides none, so an agent cannot tell what a call returns, whether results are paginated, or how to filter — the definition is functionally incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 21 parameters at 0% schema description coverage, the description carries the full burden and provides nothing. Filter fields such as status, approver, policies, folder, search, ordering and max_pages are entirely undocumented anywhere, leaving the agent unable to construct a useful query.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only that it 'overrides the list method to inject optimized data into the serializer context' — a Django-internal implementation note, not a statement of what the tool does. An agent must infer from the name that it lists validation flows; the description neither names the resource nor distinguishes it from siblings like validation_flows_retrieve or validation_flows_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives such as validation_flows_retrieve for a single record or the many other list endpoints. The agent is left to guess entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_validation_flows_object_retrieveApi validation flows object retrieveCRead-onlyIdempotent
API endpoint that allows validation flows to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 nothing about return shape or error behavior. Worse, it says the object may be "viewed or edited," implying write capability that contradicts the read-only annotation and the retrieve semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short, front-loaded sentence with no padding, so structurally fine. Brevity is not the problem here; the sentence simply carries almost no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations describing the payload, the description should at least say that a single validation flow record is returned. Instead it leaves the agent unable to tell what comes back or how the object is selected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter (id) at 0% description coverage and the description never mentions it, leaving its format (UUID vs slug) and lookup semantics undocumented. Nothing in the prose compensates for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ("validation flows") but describes the operation only as "viewed or edited," which is boilerplate that never states this tool fetches a single validation flow by ID. Siblings like validation_flows_retrieve and validation_flows_object_retrieve are indistinguishable from it on the basis of this text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus validation_flows_list, validation_flows_retrieve, validation_flows_object_retrieve, or the update/partial_update siblings. The agent must infer everything from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_validation_flows_partial_updateApi validation flows partial updateD
API endpoint that allows validation flows to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: it does not explain what a partial update changes, which fields are mutable, whether omitted fields are preserved, or any permission requirements. It does not contradict the annotations, but it contributes no behavioral context of its own.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no padding, so there is no wasted text and nothing is buried. However, brevity here comes from boilerplate rather than from tight, information-dense writing, so it earns only a middling score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque free-form body, no output schema, and no field documentation anywhere in the schema, the description needs to carry the payload semantics — and it carries none. An agent cannot call this correctly without discovering the body structure elsewhere.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the body parameter is an untyped free-form object (additionalProperties: true). For a PATCH tool this is the single most important thing to document — which fields of a validation flow are updatable and in what shape — and the description says nothing about it, so the agent is left to guess the payload entirely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ("validation flows") but the verb phrase "viewed or edited" is generic Django REST boilerplate that conflates reading with writing, and it never says this is specifically the partial-update (PATCH) operation. Against siblings like validation_flows_update, validation_flows_retrieve and validation_flows_list, an agent gets no signal about which one this is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus validation_flows_update (full update), validation_flows_create, or validation_flows_retrieve. Worse, "viewed or edited" actively blurs the read/write boundary, so the description could mislead an agent into treating a mutation endpoint as a read endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_validation_flows_retrieveApi validation flows retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely non-obvious behavioral context: related fields the caller is not authorized to see are masked in the response. It stops short of explaining what masked values look like or whether the record 404s.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, no filler, but it front-loads the least informative part ('a single object') and buries the one useful fact (field masking) at the end. Efficient but under-specified rather than genuinely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-id read with annotations covering safety, the definition is broadly sufficient, and the masking note is valuable. It still omits which resource is fetched and what happens when the id does not exist or is unauthorized.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but there is only a single required 'id' string, whose meaning is self-evident for a retrieve endpoint. The description adds no format or identifier-source detail, so nothing is gained beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'Return a single object' – it never names the resource (a validation flow), so the actual target is carried entirely by the tool name rather than the description. 'Return a single object' essentially restates what 'retrieve' already implies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus the many sibling retrieve/list/object_retrieve endpoints (e.g. validation_flows_list, validation_flows_object_retrieve). No prerequisites or note about needing the object's id from a prior list call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_validation_flows_status_retrieveApi validation flows status retrieveCRead-onlyIdempotent
API endpoint that allows validation flows to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered. However, the description says the endpoint allows flows to be 'edited', which implies a write capability the annotations explicitly deny; otherwise it adds nothing about what is actually returned (presumably the status choices).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single, front-loaded sentence with no padding, so it is not verbose. But the brevity comes from generic boilerplate rather than from targeted precision, so conciseness is achieved at the cost of substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place an agent could learn that this endpoint returns the set of status values (and their identifiers/labels) for validation flows. It provides none of that, leaving the caller unable to know what a successful response contains or how to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and per the baseline this dimension scores high. No parameter confusion is possible with an empty input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence 'API endpoint that allows validation flows to be viewed or edited' restates the resource name generically and never mentions 'status', which is the distinguishing element of this endpoint. Against siblings such as validation_flows_retrieve, validation_flows_list and validation_flows_object_retrieve, an agent cannot tell what this tool uniquely returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to pick this over validation_flows_retrieve or validation_flows_list, and no statement of prerequisites or alternatives. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_validation_flows_updateApi validation flows updateCIdempotent
API endpoint that allows validation flows to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered. The description adds nothing on top of that: it does not say the body is a full replacement (which matters for an idempotent PUT), does not describe what happens to omitted fields, and does not mention permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, but it is boilerplate that conveys almost no information. Brevity here comes from under-specification rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a required id, an unconstrained body object, no output schema, and zero schema documentation, this description is far too thin. An agent cannot determine what constitutes a valid payload or how the result should be interpreted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across two parameters, and the description contributes nothing about either. The opaque free-form `body` object (anyOf object/null, default null) is completely undefined, so an agent cannot know what fields to send without guessing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The resource is named (validation flows) but the verb is diluted to "viewed or edited," which is generic DRF boilerplate rather than a statement that this performs a full update. It does not distinguish this tool from ciso_assistant_api_validation_flows_partial_update or ciso_assistant_api_validation_flows_retrieve, both of which appear in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this full update over the sibling partial_update, nor any prerequisite, payload requirement, or exclusion stated. The agent is left to infer everything from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_vulnerabilities_autocomplete_retrieveApi vulnerabilities autocomplete retrieveCRead-onlyIdempotent
API endpoint that allows vulnerabilities to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The boilerplate claim that vulnerabilities can be "viewed or edited" conflicts with the annotations, which declare readOnlyHint=true and destructiveHint=false for this operation. Because the phrase is generic viewset boilerplate rather than a targeted assertion about this endpoint, the conflict is flagged rather than treated as a total misfire, but the description still misrepresents the mutation surface and adds no useful behavioral context (result shape, matching behavior, pagination).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, so it is concise, but the brevity comes from under-specification rather than efficiency — the one sentence conveys almost no information beyond the resource name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool with rich annotations and no output schema, the description should at minimum explain what the autocomplete returns (a suggestion list) and when it is preferred. Instead it offers generic CRUD boilerplate and even misstates the operation as potentially editing, leaving the agent without the information needed to pick this tool over its many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema declares zero parameters, so there is no parameter semantics burden on the description. Baseline 4 applies; the description neither helps nor hurts here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a generic Django REST Framework docstring ("API endpoint that allows vulnerabilities to be viewed or edited") that restates the resource name but says nothing about the actual operation implied by the tool name: autocomplete. It does not describe what an autocomplete retrieval returns or how it differs from vulnerabilities_list or vulnerabilities_retrieve, so an agent cannot distinguish its purpose from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given at all. There is no mention of the alternative retrieval tools (vulnerabilities_list, vulnerabilities_retrieve, vulnerabilities_object_retrieve) or of the typical trigger for an autocomplete query, leaving the agent to guess from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_vulnerabilities_batch_action_createApi vulnerabilities batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose that this is a non-read-only, non-idempotent, open-world operation, but the description adds nothing about what the batch action does, what payload shape it expects, or how it affects existing vulnerability records. With annotations covering the safety profile, the description still fails to add any meaningful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but suffers from under-specification rather than useful conciseness. It is front-loaded with a generic verb phrase that does not help an agent decide or act.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a batch action tool with no schema parameters, no output schema, and many sibling batch action tools, the description should explain the target model, accepted action types, and expected payload. It provides none of this, leaving the definition completely inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero declared parameters, so per the baseline rule it scores 4. There are no parameter semantics for the description to explain, and the empty schema is consistent with that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Perform a batch action on multiple objects,' which merely restates the tool name and title without naming the resource domain (vulnerabilities) or the kind of action. An agent cannot distinguish this from the dozens of sibling *_batch_action_create tools or know that it targets vulnerabilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this batch action versus single-object create/update/destroy tools or the other batch action siblings. The description provides no prerequisites, alternatives, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_vulnerabilities_cascade_info_retrieveApi vulnerabilities cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description adds nothing about what 'cascade' means in practice (e.g. whether it enumerates dependent objects that would be affected by deletion) or what the response contains, which is the one piece of context this terse phrase should supply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words are technically concise but the phrasing is a label fragment, not a sentence, and it is under-specified rather than economical. Nothing is front-loaded because there is essentially no content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A one-parameter read endpoint with an undocumented parameter, no output schema, and no explanation of the 'cascade' semantics leaves the agent unable to call it correctly or interpret the result. The description is effectively absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description says nothing about the required 'id' parameter — not its type meaning, not which object's id it is. An agent cannot tell from either source that this is the vulnerability's identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text 'Cascade preview:' gestures at a preview of cascading effects but never names the resource (vulnerabilities) or the operation clearly. An agent must rely on the tool name to learn this relates to cascade info for vulnerabilities, which is tautological restatement rather than explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this versus the many sibling cascade_info_retrieve tools or the plain vulnerabilities_retrieve. Nothing tells the agent what question this answers or what prerequisite id must exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_vulnerabilities_createApi vulnerabilities createD
API endpoint that allows vulnerabilities to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a non-read-only, non-idempotent, open-world write operation, so the description only needs to add context. Instead it adds none — nothing about what a created vulnerability looks like, required fields, uniqueness/duplicate handling, or what happens on repeated calls despite idempotentHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but that brevity is under-specification rather than conciseness. The one clause it contains is boilerplate that misdirects toward viewing/editing rather than creating.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque free-form body, no output schema, and a large sibling set, the description should explain the payload and the create semantics. It supplies neither, leaving the agent unable to call the tool correctly without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (body) with 0% schema description coverage and no enum or structure hints, and the description says nothing about it. The agent has no idea what fields the vulnerability payload requires, so the description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says the endpoint 'allows vulnerabilities to be viewed or edited', which is auto-generated boilerplate that never states the actual operation (creating a vulnerability record). It also blurs the verb, so an agent cannot distinguish this from vulnerabilities_list, vulnerabilities_update, or vulnerabilities_retrieve among the many siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this create endpoint versus vulnerabilities_partial_update, vulnerabilities_update, or vulnerabilities_batch_action_create. No prerequisites, payload expectations, or side effects are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_vulnerabilities_destroyApi vulnerabilities destroyDDestructiveIdempotent
API endpoint that allows vulnerabilities to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, but the description frames the endpoint as a view/edit surface and says nothing about permanent deletion, side effects, required permissions, or irreversibility. For a destructive operation, this omission actively works against the annotation and leaves the agent poorly equipped to warn the user.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but length is achieved by being an uninformative boilerplate template rather than by front-loading useful content. Brevity here is under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive single-object mutation with no output schema and 0% schema coverage needs the description to explain the delete semantics; instead the description describes a different, non-destructive operation. Nothing an agent needs in order to call this safely is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, yet it says nothing about the single required 'id' parameter — not its format (UUID vs integer-string), nor whether it identifies the vulnerability to delete. The parameter name is largely self-evident, which keeps this above a 1, but the description adds no meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates a generic CRUD template ('allows vulnerabilities to be viewed or edited') rather than stating what this specific tool does. The tool name and annotations indicate deletion, but the description never says 'delete' or 'destroy', so an agent reading only the description would misidentify the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many vulnerability siblings (retrieve, update, partial_update, batch_action). The only implicit guidance — that this is for viewing or editing — is misleading for a delete endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_vulnerabilities_listApi vulnerabilities listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| cwes | No | ||
| limit | No | ||
| assets | No | ||
| folder | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| findings | No | ||
| ordering | No | ||
| severity | No | ||
| max_pages | No | ||
| risk_scenarios | No | ||
| applied_controls | No | ||
| filtering_labels | No | ||
| security_advisories | No | ||
| security_exceptions | No |
TDQS
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 nothing usable about behavior: it doesn't mention pagination (relevant given limit/offset/max_pages), default ordering, the filtering behavior, or the shape of results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is spent on internal framework mechanics rather than front-loading the resource and operation. Brevity here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 17-parameter, zero-coverage, no-output-schema list endpoint needs far more context than this. The description leaves an agent unable to determine what the tool returns, how to filter meaningfully, or whether it paginates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 17 parameters, so the description must compensate, and it does not. Filters like severity, status, cwes, assets, findings, security_advisories, filtering_labels and pagination controls are completely undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a Django implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does. Only the tool name hints that it lists vulnerabilities; the text itself never says it retrieves or lists vulnerability records, nor how it differs from siblings like ciso_assistant_api_vulnerabilities_retrieve or _autocomplete_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the many sibling list/retrieve/object_retrieve tools. Nothing indicates prerequisites, scope, or exclusions, and the implementation-focused phrasing actively misdirects an agent away from thinking of it as a query entry point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_vulnerabilities_object_retrieveApi vulnerabilities object retrieveDRead-onlyIdempotent
API endpoint that allows vulnerabilities to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations explicitly declare readOnlyHint=true and destructiveHint=false, yet the description claims vulnerabilities can be 'edited'. That directly contradicts the read-only annotation and could lead an agent to attempt a mutation through a GET-style tool. No other behavioral context (permissions, response shape, error behavior) is added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no padding, so it is concise mechanically. However, brevity here reflects boilerplate under-specification rather than distilled information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-object retrieval tool with an undocumented required id and no output schema, the description says nothing about what is returned or how to identify the object. Annotations cover the safety profile, but the description leaves the calling convention entirely to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, 'id', with 0% schema description coverage, so the description carries the full burden. It says nothing about the id (format, UUID vs integer, source). The only hint of a parameter is absent entirely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (vulnerabilities) but the verb is a generic boilerplate phrase, 'viewed or edited', that doesn't identify this as a single-object-by-ID retrieval. With siblings like ciso_assistant_api_vulnerabilities_list, _retrieve, and _update using the same boilerplate, there is nothing here to tell them apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the list endpoint, the plain retrieve endpoint, or the update endpoint. The agent must infer from the tool name that this fetches one vulnerability by ID.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_vulnerabilities_partial_updateApi vulnerabilities partial updateC
API endpoint that allows vulnerabilities to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, but the description adds nothing beyond them. It never explains that only the fields supplied in the body are changed, that unspecified fields are preserved, or what happens on an unknown id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, but it is under-specified rather than efficient — it spends its one sentence on a tautology instead of the partial-update semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a free-form body, no output schema, and 0% parameter documentation, the description leaves critical information missing: which fields are patchable, whether the response returns the updated object, and how it differs from its many sibling endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description documents neither parameter. The 'body' parameter is an unconstrained object with additionalProperties=true, so the agent has no idea which vulnerability fields can be patched; 'edited' is the only faint hint and it is not sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is generic boilerplate that restates the resource name ('vulnerabilities') with a vague verb pair ('viewed or edited'). It never says this is a PATCH-style partial update, so an agent cannot distinguish it from ciso_assistant_api_vulnerabilities_update, _retrieve, or _create from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use partial update versus the full update sibling, nor on prerequisites such as required permissions or the need to first fetch the object. The phrase 'viewed or edited' actively blurs the read/write distinction an agent needs to pick correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_vulnerabilities_refresh_due_dates_createApi vulnerabilities refresh due dates createA
Recalculate due_date for all vulnerabilities based on current SLA policy.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=false, destructiveHint=false, and idempotentHint=false. The description adds useful scope ('all vulnerabilities') and the SLA dependency, but omits whether manually set due dates are overwritten, whether closed vulnerabilities are included, what permissions are needed, and whether the bulk recalculation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler: verb, affected resource, and calculation basis are all stated immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter bulk mutation with no output schema, the description states scope and basis but leaves important operational details unclear – notably the blast radius on manually adjusted due dates, treatment of closed vulnerabilities, and what the caller receives after execution.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema baseline is a 4. The description adds a meaningful semantic constraint by noting recalculation applies to all vulnerabilities and uses the current SLA policy, but there are no parameters whose semantics need further explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('Recalculate due_date'), a concrete resource ('all vulnerabilities'), and the basis ('current SLA policy'). This clearly distinguishes it from per-record siblings like vulnerabilities_update or vulnerabilities_partial_update, though it does not explicitly name an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by 'based on current SLA policy' – an agent can infer this should be run after SLA settings change, but there is no explicit when-to-use statement, no when-not-to-use condition, and no named alternative such as settings_vulnerability_sla_update or individual vulnerability updates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_vulnerabilities_retrieveApi vulnerabilities retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description does add genuinely useful non-annotation context — that unauthorized related fields are masked in the response — but leaves unexplained what determines authorization (user permissions, field-level access) and whether masking changes the object shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding or redundancy, and the most distinctive information (field masking) is stated immediately. It is efficient, though the terseness contributes to the vagueness noted above.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only getter the annotations cover safety, but the description leaves the resource unnamed, the id format unspecified, and the distinction from object_retrieve unexplained in an unusually large sibling set. There is no output schema, so return shape rests on the description's vague 'single object' phrasing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter with 0% schema description coverage, so the description must carry the burden and does not: it never mentions the id, its format (UUID vs. numeric), or how to obtain a valid one. A lookup-by-id tool that doesn't describe its identifier is a real gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Return a single object" restates the name's "retrieve" without naming the resource or the scope of the object; the fact that it operates on a vulnerability must be inferred entirely from the tool name. It also gives no basis for choosing between it and the sibling ciso_assistant_api_vulnerabilities_object_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use signal, no prerequisites, and no mention of alternatives such as vulnerabilities_list or vulnerabilities_object_retrieve. The agent gets no guidance on when this tool is the right pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_vulnerabilities_sankey_data_retrieveApi vulnerabilities sankey data retrieveCRead-onlyIdempotent
Returns vulnerability data structured for Sankey diagram:
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered structurally. The description contributes only the vague output-shape hint 'structured for Sankey diagram' and then stops at a colon, disclosing nothing about the returned node/link structure, data scope, or any filtering behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler, which is good, but it terminates in a dangling colon that signals dropped content rather than deliberate brevity. The result reads as a truncated fragment rather than a complete statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place an agent could learn what the Sankey payload looks like (nodes/links, labels, aggregation) and what scope it covers, and it provides none of that. For a zero-schema analytics endpoint, this leaves the agent unable to predict the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters (parameter count 0), so there is nothing for the description to disambiguate; the baseline of 4 applies. No parameter-related gaps exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb ('Returns') and a specific resource ('vulnerability data structured for Sankey diagram'), which distinguishes it from siblings like ciso_assistant_api_vulnerabilities_treemap_data_retrieve and ciso_assistant_api_vulnerabilities_list. However, the trailing colon suggests the sentence was truncated before any elaboration, and it never disambiguates from the analogous sankey tools for findings and security exceptions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when an agent should choose this over the treemap, list, severity, or status endpoints, nor any prerequisites, filters, or scope constraints. The agent is left to infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_vulnerabilities_severity_retrieveApi vulnerabilities severity retrieveCRead-onlyIdempotent
API endpoint that allows vulnerabilities to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, but the description says the endpoint allows vulnerabilities to be 'viewed or edited'. The editing claim conflicts with the read-only annotation and misleads the agent about a mutation capability. No additional behavioral context (what is returned, that this is a choice/enum lookup) is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no wasted words and nothing to trim, but the brevity comes from under-specification rather than efficiency – it conveys almost no usable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description is the only place to explain that this endpoint enumerates available vulnerability severity values. Instead it gives a generic CRUD sentence, leaving the agent unable to decide between this and the many other vulnerabilities_* retrieve endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty, so there is nothing for the description to disambiguate. Baseline 4 applies for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence is generic DRF boilerplate that restates the resource name without saying anything about 'severity' – the actual subject of the endpoint. It does not distinguish this from siblings such as vulnerabilities_status_retrieve, findings_severity_retrieve, or security_exceptions_severity_retrieve, so an agent cannot tell what this call actually returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus vulnerabilities_list, vulnerabilities_retrieve, or the other severity endpoints. Combined with the 'viewed or edited' phrasing, an agent gets no signal about whether this is the right tool for enumerating severity choices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_vulnerabilities_status_retrieveApi vulnerabilities status retrieveCRead-onlyIdempotent
API endpoint that allows vulnerabilities to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims vulnerabilities can be "edited" here, while annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false. That directly contradicts the structured safety profile and could lead an agent to attempt a write against a read-only endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, no padding, so nothing is wasted — but it is the wrong sentence: it carries no distinguishing information and is front-loaded with generic framework boilerplate rather than the endpoint's actual scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Annotations carry the safety profile and there is no output schema, so the remaining burden on the description is small — but it should at minimum say that this returns the set of vulnerability status values rather than vulnerability records. That essential disambiguation is absent, and the "edited" claim actively misleads.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to explain; baseline 4 applies. The empty schema with additionalProperties=false is unambiguous on its own.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is Django-REST-Framework boilerplate ("API endpoint that allows vulnerabilities to be viewed or edited") that restates the resource without stating the actual operation. It gives no hint that this endpoint returns status metadata (as sibling endpoints like vulnerabilities_severity_retrieve and vulnerabilities_status_retrieve imply), so an agent cannot distinguish it from vulnerabilities_retrieve or vulnerabilities_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no exclusions, no mention of alternatives. The phrase "viewed or edited" is the only usage signal and it is misleading for a retrieve endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_vulnerabilities_treemap_data_retrieveApi vulnerabilities treemap data retrieveBRead-onlyIdempotent
Returns vulnerability data structured for treemap visualization:
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 fact – the output shape is aggregation-structured for treemap rendering rather than raw records – but discloses nothing about scope, filtering, or what 'treemap data' contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no padding, but it terminates in a dangling colon, which reads as a truncated or malformed definition and weakens the structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and only a generic read-only annotation set, the description would need to say more about the returned structure (hierarchy levels, grouping dimensions, granularity). It conveys the visualization intent but not enough for an agent to know what it will actually receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; the description neither helps nor hurts here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Returns') and resource ('vulnerability data'), plus the distinguishing qualifier that the payload is shaped for treemap visualization, which separates it from siblings like vulnerabilities_sankey_data_retrieve or vulnerabilities_list. No sibling is named explicitly, keeping it just below a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus the many other vulnerability reporting endpoints (list, sankey, severity, status). The agent must infer from the word 'treemap' alone that this is for chart rendering rather than tabular retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_vulnerabilities_updateApi vulnerabilities updateCIdempotent
API endpoint that allows vulnerabilities to be viewed or edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
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 safety profile is covered; the description adds nothing beyond that. It does not state whether the body replaces or merges existing vulnerability data, whether omitted fields are cleared, or what is required to authorize the edit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, front-loaded and free of padding. Its brevity is not the problem — the problem is that it carries almost no information, so it is concise but under-specified rather than efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool whose only payload parameter is an untyped object with zero schema coverage and no output schema, the definition leaves the agent without enough to construct a valid call. It should at minimum describe the expected body shape and required fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the `body` parameter is a free-form object with additionalProperties true — the description is the only place that could explain which vulnerability fields it accepts, and it says nothing. The `id` parameter's meaning (vulnerability identifier) is also left implicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates boilerplate ("API endpoint that allows vulnerabilities to be viewed or edited") rather than naming a specific operation. It does not distinguish this update tool from siblings like ciso_assistant_api_vulnerabilities_partial_update, vulnerabilities_retrieve, or vulnerabilities_destroy, and the "viewed or edited" phrasing muddies what the tool actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this full update versus partial_update, create, or destroy, nor any prerequisite or caution about required fields. The agent must infer everything from the tool name suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_webhooks_audit_sinks_batch_action_createApi webhooks audit sinks batch action createD
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true; the description adds nothing about what a 'batch action' actually does, what must be supplied (object ids, action name), whether it is reversible, or what permissions are required. It does not contradict the annotations, but it contributes zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, so it is concise, but its brevity comes from under-specification rather than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with an opaque body, no output schema and no documented action vocabulary, the description leaves an agent unable to construct a valid call. It is not complete enough to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single opaque body parameter with 0% schema description coverage, and the description supplies no hint about its shape (presumably a list of ids plus an action). The one parameter an agent must fill is completely undocumented in both schema and prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The sentence restates the name's generic 'batch action' verb and 'objects' resource without ever naming the resource (webhooks audit sinks) or the possible actions. Against dozens of identically-worded *_batch_action_create siblings, it gives an agent no way to tell which object model it operates on.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, no when-not-to-use, no mention of alternatives such as the per-object partial_update/destroy tools or the dedicated audit_sinks_replay_create. Nothing routes the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_webhooks_audit_sinks_cascade_info_retrieveApi webhooks audit sinks cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, so the non-mutating nature is covered by structured data. The phrase 'Cascade preview' weakly implies a dry-run of cascade effects, which is a small addition, but it says nothing about what the preview returns, how deep the cascade is computed, or whether there are side effects. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two words is technically concise, but this is under-specification rather than economy; nothing is front-loaded because nothing is said. The trailing colon suggests an incomplete thought, leaving the reader with less information than a blank description would imply.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a required identifier, no output schema, and no parameter documentation, the description needs to explain the preview semantics and the target entity. It explains neither, so an agent cannot confidently invoke it or interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, id, with 0% schema description coverage, and the description provides no explanation of what the id identifies (audit sink? endpoint? record?) or what format it takes. With a non-zero parameter count and no schema descriptions, the description needed to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a two-word fragment, 'Cascade preview:', which largely restates the tail of the tool name (cascade_info_retrieve) rather than stating a verb and resource. It hints that some cascade effect is previewed, but an agent cannot tell what is being previewed, on what entity, or how it differs from siblings like ciso_assistant_api_webhooks_audit_sinks_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite, and no mention of any alternative sibling. Nothing indicates that this should be called before a destructive cascade operation rather than after, or why one would pick it over the plain retrieve endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_webhooks_audit_sinks_createApi webhooks audit sinks createC
Admin-managed audit-log forwarding destinations (kind=AUDIT_SINK). Folder/IAM
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the write/external-effect profile is covered structurally. The description does add one genuinely useful behavioral fact not in the annotations: the resource is 'Admin-managed', implying elevated privileges are needed to create a forwarding destination. It says nothing about what a sink requires, whether creation triggers validation, or what happens on duplicate creation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than concision: two fragments, the second ('Folder/IAM') being an unexplained tag that reads like leftover metadata. Nothing about the create action is front-loaded, and no sentence explains the payload or the effect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A create mutation with an opaque free-form body, no output schema, and no annotations covering permissions or side effects. The description supplies the resource identity and an admin hint, but leaves the agent unable to know what to put in the body or what a successful creation returns — a substantial gap for a write tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, 'body', declared only as a free-form object (anyOf object/null) with 0% schema description coverage and no documented properties. The description does not enumerate or explain any body fields; the only hint is 'kind=AUDIT_SINK', which is not enough for an agent to construct a valid payload. With low coverage the description is expected to compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource domain ('audit-log forwarding destinations') and an internal discriminator (kind=AUDIT_SINK), which does distinguish it from the sibling webhooks_endpoints family. However, it is a bare noun phrase with no verb: an agent cannot tell from the text alone that this is the create operation rather than list/retrieve/update, and it must fall back on the tool name. Purpose is inferable but not stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite (e.g. that a sink must exist before events can be replayed), and no reference to the alternatives in the same family (audit_sinks_list, audit_sinks_update, audit_sinks_replay_create). The agent gets no routing signal beyond the resource noun.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_webhooks_audit_sinks_destroyApi webhooks audit sinks destroyDDestructiveIdempotent
Admin-managed audit-log forwarding destinations (kind=AUDIT_SINK). Folder/IAM
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered. The description adds only resource identity, not what happens to the forwarding configuration after deletion or whether special admin permissions are required, and 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but under-specified rather than efficient. It front-loads resource context but omits the action, and the cryptic 'Folder/IAM' fragment does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema, the description should make clear that this permanently removes an audit sink and what that implies. Annotations cover the destructive flag, but the description leaves the core purpose and effect incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole required parameter 'id' is not described in the description, and schema description coverage is 0%. The agent gets no indication of what identifier is expected or how to obtain it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as admin-managed audit-log forwarding destinations with kind=AUDIT_SINK, but it never states the action. An agent must infer deletion from the tool name suffix 'destroy', and the trailing 'Folder/IAM' fragment is unexplained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this delete tool versus siblings such as update, partial_update, batch_action, or retrieve. No prerequisites, 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.
ciso_assistant_api_webhooks_audit_sinks_listApi webhooks audit sinks listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorld, so the safety profile is covered externally. The description adds no behavioral context such as pagination behavior (limit/offset/max_pages), search/ordering semantics, or response shape — and what it does say is about server internals rather than observable behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, so not verbose, but brevity here is under-specification: the single sentence is spent on an implementation detail and carries no front-loaded purpose. Rewriting to state the resource and pagination contract would cost nothing in length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, five undocumented parameters, and a description that only describes a code override. Nothing an agent needs to invoke this list endpoint correctly — what it returns, how pagination/filtering works, or what an audit sink is — is available.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and four of five parameters are typed only as 'anyOf: {}' with no type or description. With limit, offset, search, ordering and max_pages completely undescribed in both schema and description, the description must compensate and does not mention any parameter at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an internal implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does for a caller. It never says the tool lists webhook audit sinks, and only the tool name and title convey the resource. An agent reading the description alone would not know what is being listed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no mention of the sibling endpoints (webhooks) or audit sink CRUD tools, and no exclusion criteria. The description discusses serializer internals, which tells an agent nothing about selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_webhooks_audit_sinks_object_retrieveApi webhooks audit sinks object retrieveCRead-onlyIdempotent
Admin-managed audit-log forwarding destinations (kind=AUDIT_SINK). Folder/IAM
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds that these are admin-managed destinations scoped by Folder/IAM, hinting at permission requirements, but "Folder/IAM" is left undefined and no return content or error behavior is described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the resource definition, but it is a noun phrase with no verb, and the cryptic "Folder/IAM" fragment consumes space without conveying actionable meaning. Brevity here comes at the cost of clarity rather than from tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with annotations covering safety and no output schema, the description identifies the resource domain adequately, but it omits what the retrieval returns, how it relates to the near-identical sibling _retrieve, and what Folder/IAM means for access.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description bears full responsibility for the lone `id` parameter, yet it never mentions it — no indication of whether it is a UUID, slug, or ref_id, nor that it identifies the audit sink. The parameter name is broadly inferable, but nothing compensates for the documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource precisely ("Admin-managed audit-log forwarding destinations (kind=AUDIT_SINK)") and adds a distinguishing kind qualifier, but it never states the action — retrieval of a single sink by id — which is the actual verb of the tool. The trailing "Folder/IAM" is an unexplained fragment that does not help an agent separate this from siblings such as webhooks_audit_sinks_retrieve or webhooks_audit_sinks_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives; the description never says to use the list tool to enumerate sinks or how this differs from the sibling _retrieve endpoint. An agent must infer the single-object read scenario purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_webhooks_audit_sinks_partial_updateApi webhooks audit sinks partial updateC
Admin-managed audit-log forwarding destinations (kind=AUDIT_SINK). Folder/IAM
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare that this is a non-readonly, open-world, non-idempotent, non-destructive operation. The description adds only domain context (admin-managed audit-log forwarding, kind=AUDIT_SINK) and does not explain partial-update semantics, which fields may be modified, auth requirements beyond the vague "admin-managed", or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loads the resource identity, but it is written as two cryptic fragments. "Folder/IAM" is unexplained and does not clearly earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a partial-update mutation with two undocumented parameters and no output schema, the description is substantially incomplete. It gives enough context to identify the resource type but not enough to safely understand or invoke the update operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no information about the id or body parameters. It does not explain what the body may contain or how the required id identifies an audit sink.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as admin-managed audit-log forwarding destinations tagged kind=AUDIT_SINK, which helps distinguish it from generic webhook endpoints. However, it never states the actual operation (partial update) or differentiates this PATCH behavior from sibling tools such as update, create, destroy, or replay. The fragment "Folder/IAM" is also too cryptic to clarify scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling audit-sink tools, especially update vs partial_update, create, destroy, list, or replay. The description gives no preconditions, exclusions, or selection cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_webhooks_audit_sinks_replay_createApi webhooks audit sinks replay createC
Re-emit historical audit events to this sink. Body: {since, until?} (ISO
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is structured. The description's 're-emit ... to this sink' adds the meaningful fact that this dispatches historical events outward to an external endpoint and is repeatable/non-idempotent, but it stops there — no mention of volume limits, whether delivery is synchronous, or what happens on sink failure, and the text is cut off mid-sentence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two lines is appropriately short, but the definition is under-specified rather than concise: the parenthetical format hint is truncated mid-token ('(ISO'), which reads as a broken tool definition and leaves an unclosed bracket.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an externally-facing, non-idempotent replay action with a fully opaque request body and no output schema, the description should carry much more: accepted timestamp format, defaults for 'since', and the effect on the target sink. Annotations cover only the safety hints; the operational contract is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the body is an opaque anyOf object, so the description is the only source of field names — {since, until?} is genuinely additive. However the format hint is truncated at '(ISO' so the agent can't tell date-only from datetime, and the required 'id' parameter is never explained beyond the vague 'this sink'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: re-emitting historical audit events to a named sink. This is clearly distinguishable from the sibling CRUD tools (audit_sinks_create/list/retrieve/destroy) and from batch_action. It loses a point only because the truncated text never clarifies what 'sink' identifier is required or what a 'replay' produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus the sink CRUD or batch_action siblings, and no prerequisites (sink must exist, must be enabled, required permissions). Nothing tells the agent when replay is inappropriate, e.g. re-driving a live production endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_webhooks_audit_sinks_retrieveApi webhooks audit sinks retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, non-destructive, openWorld). The description does add one genuine behavioral detail — that unauthorized related fields are masked — which is real context beyond the annotations, but it doesn't explain not-found behavior, permission requirements, or what 'related fields' means. The masking disclosure earns partial credit rather than a full solution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It's a single short sentence with no waste, but the phrase 'unauthorized related fields masked' is vague and awkward. Brevity comes at the cost of under-specification rather than precision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieve endpoint with no output schema, the description should clarify the returned shape, the id semantics, and the masking behavior. It only gestures at masking, leaving the agent without enough to call it confidently or interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There's exactly one required parameter (id) with 0% schema description coverage, and the description says nothing about it — no format (UUID?), no source, no constraints. With the schema providing only 'type: string', the description should compensate and doesn't.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it returns a single object and adds a masking detail, but never says what the object is (an audit sink). The resource can only be inferred from the tool name, and there's no distinction drawn from the sibling _object_retrieve or _list variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus ciso_assistant_api_webhooks_audit_sinks_object_retrieve, _list, or _cascade_info_retrieve. There's no mention of prerequisites or exclusions, leaving the agent to pick among many near-identical retrieve siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_webhooks_audit_sinks_updateApi webhooks audit sinks updateCIdempotent
Admin-managed audit-log forwarding destinations (kind=AUDIT_SINK). Folder/IAM
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds 'Admin-managed', which usefully implies elevated permissions are required, and 'Folder/IAM' hints at the scoping model (folder permissions / IAM), but neither is explained enough to act on. No mention of whether an update replaces or merges the existing sink configuration.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short fragments, so nothing is wasted, but the structure is noun-phrase-plus-tag rather than a front-loaded statement of purpose. 'Folder/IAM' reads as a cryptic tag rather than an explained constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no output schema and an opaque free-form body. The description leaves out the operation semantics, the updatable fields, and the admin/IAM scoping details that 'Admin-managed' and 'Folder/IAM' only gesture at. It is not enough for an agent to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description says nothing about either parameter. The body parameter is an unconstrained object with no documented properties, so an agent has no way to know which fields (URL, secret, event filters, enabled flag) can be set. The description does not compensate for this gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource precisely ('audit-log forwarding destinations', kind=AUDIT_SINK), which is more than the name alone gives, but it never states the operation. An agent reading only the description cannot tell whether this creates, replaces, or modifies a sink. The 'update' verb exists only in the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus the sibling partial_update (PATCH-style) or create/destroy tools. The 'Admin-managed' phrase hints at a privileged audience but gives no workflow guidance or prerequisites for calling it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_webhooks_endpoints_batch_action_createApi webhooks endpoints batch action createC
Perform a batch action on multiple objects.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false, so the safety profile is partly covered. However, the description adds no behavioral context about what the batch action does, what action types exist, or what side effects occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no wasted words, but it is too generic to be useful. It is concise without being informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a batch mutation endpoint with an opaque body parameter, no output schema, and many sibling batch tools, the description is far too thin. It leaves the agent unable to determine what the tool actually does or how to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has a single opaque body parameter with 0% description coverage, and the description does not explain its structure. The phrase "multiple objects" hints at a collection but provides no detail on required fields, action types, or object identifiers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only "Perform a batch action on multiple objects," which is a generic verb-object phrase that does not identify webhooks endpoints or explain what "batch action" means. It fails to distinguish this tool from the many sibling batch_action_create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what prerequisites it has, or which alternative batch tools to choose. The agent is left to infer usage entirely from the name and endpoint path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_webhooks_endpoints_cascade_info_retrieveApi webhooks endpoints cascade info retrieveDRead-onlyIdempotent
Cascade preview:
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that – it does not say the preview is non-mutating, what it reports (dependent objects, counts, warnings), or whether it is scoped to one record. No contradiction with the annotations, but essentially zero added context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here reflects under-specification rather than concision – a two-word fragment with a trailing colon that is neither front-loaded information nor complete thought.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists and the only parameter is undocumented, so the description must explain what the cascade preview returns and what the id refers to; it explains neither. For a read tool an agent could otherwise call safely, this leaves it unable to predict the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'id' parameter, so the description carries the burden of explaining it. It never mentions the parameter, leaving the agent to guess whether 'id' is the webhook endpoint id, an event id, or a model identifier. The word 'preview' is the only weak signal about what the id selects.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a fragment, 'Cascade preview:', that restates the tool-name token 'cascade' without a verb, resource, or scope. It hints at previewing cascade consequences but never says of what, and it does nothing to distinguish this from the many sibling '*_cascade_info_retrieve' tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. Nothing says whether this should be called before a delete, before a batch action, or instead of the plain retrieve endpoint, and no alternative sibling is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_webhooks_endpoints_createApi webhooks endpoints createD
API endpoint to create, list, retrieve, update, and delete
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=true, idempotentHint=false), so the description needed only to add operational context; instead it adds nothing and muddies things by implying list/retrieve/delete behavior. It does not describe what gets created, what fields are accepted, or what a webhook endpoint requires (e.g. URL/target auth).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but no part of it earns its place: the single clause is generic REST boilerplate that conveys no resource, no action-specific detail, and no constraints. Brevity here comes from omission rather than density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent create mutation with an untyped body, no output schema, and no parameter documentation, the description supplies none of the information an agent needs to call it correctly — what a webhook endpoint is, what the body must contain, or what happens on success.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (body) typed as an unconstrained object with 0% schema description coverage, and the description provides no information about its contents or required shape. The agent is left with an opaque free-form body for a mutation call, which is a serious gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description lists CRUD verbs but never names the resource — 'webhooks endpoints' appears only in the tool name, not the description. It reads as boilerplate that would be identical for the sibling list/retrieve/update/destroy tools, so an agent cannot tell this is specifically the create operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this tool versus the many sibling webhook tools (endpoints_list, endpoints_update, endpoints_partial_update, endpoints_destroy). Worse, advertising 'list, retrieve, update, and delete' invites the agent to use this create endpoint for operations it does not perform.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_webhooks_endpoints_destroyApi webhooks endpoints destroyDDestructiveIdempotent
API endpoint to create, list, retrieve, update, and delete
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the description's marginal job is to explain consequences — e.g. that deletion is permanent, whether related delivery records survive, whether confirmation is needed. It supplies none of that. It does not directly contradict the annotations (it never claims read-only), so this is omission rather than contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, but its brevity comes from under-specification rather than economy: it spends its only clause listing operations this tool does not perform. There is no front-loaded statement of the destructive action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-reversible operation with no output schema and no parameter documentation, the description should at minimum identify the target resource, the identifier parameter, and the irreversibility. It provides none of these, leaving an agent unable to judge whether calling it is safe.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter, 'id', with 0% description coverage, and the description never mentions it — no indication that it is the webhook endpoint identifier, nor its format. With schema coverage this low the description had to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only 'API endpoint to create, list, retrieve, update, and delete' — a generic restatement of the whole CRUD family for this resource rather than a statement of what this specific tool does. Nothing indicates that this tool deletes exactly one webhook endpoint by id, so the agent must rely on the name suffix alone to disambiguate it from the many sibling list/retrieve/create/update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no precondition (e.g. the endpoint must exist), and no mention of alternatives. Worse, the enumeration of create/list/retrieve/update operations gives no signal that this is the destructive member of the family, so the description actively competes with the tool's actual role.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_webhooks_endpoints_listApi webhooks endpoints listDRead-onlyIdempotent
Override the list method to inject optimized data into the serializer context.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| search | No | ||
| ordering | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered structurally. The description adds no behavioral context at all – the serializer-context remark is an internal implementation detail with no observable consequence for a caller, so it neither helps nor contradicts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity is under-specification rather than conciseness: the single sentence is entirely wasted on an internal detail. Nothing useful is front-loaded for an agent deciding whether to call it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with five undocumented query parameters and no output schema, the description should at minimum say what collection is returned and how paging/search work. It supplies none of that, so an agent cannot call it reliably beyond guessing from the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Five parameters (limit, offset, search, ordering, max_pages) have 0% schema description coverage and the description explains none of them. It does not even hint that the tool is paginated or searchable, leaving every parameter undocumented in both schema and prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a developer implementation note ('Override the list method to inject optimized data into the serializer context') rather than a statement of what the tool does. It never says the tool lists webhook endpoints, and a reader must infer the resource from the tool name alone. 'List method' hints at listing, but the purpose is effectively a restatement of internals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus siblings such as ciso_assistant_api_webhooks_endpoints_retrieve or object_retrieve. Nothing about pagination needs, filtering, or prerequisites is mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_webhooks_endpoints_object_retrieveApi webhooks endpoints object retrieveDRead-onlyIdempotent
API endpoint to create, list, retrieve, update, and delete
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, yet the description advertises create, update and delete capabilities. That is a direct conflict with the declared behavior profile, and no useful behavioral context (auth scope, response shape, error on unknown id) is added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence that is efficient only because it says almost nothing. The space that is used is spent on an irrelevant CRUD enumeration rather than the retrieval action, so brevity here reflects under-specification, not economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a required identifier, an open-world annotation and no output schema, the description omits purpose, targeting, and return expectations entirely. An agent could not correctly call this or know what it receives back from the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden for the single required 'id' parameter, but it never mentions what the id identifies or what form it takes. The schema declares the field as a required string, and the description adds nothing beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the resource family ('API endpoint') and then lists generic CRUD operations rather than stating that this specific tool retrieves a single webhook endpoint by id. It gives no way to distinguish this from the many sibling *_object_retrieve tools, so an agent must infer purpose from 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.
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 ciso_assistant_api_webhooks_endpoints_list or ciso_assistant_api_webhooks_endpoints_retrieve. Worse, naming create/update/delete invites an agent to select this read-only tool for mutations, which is actively misleading rather than merely silent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_webhooks_endpoints_partial_updateApi webhooks endpoints partial updateD
API endpoint to create, list, retrieve, update, and delete
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnly=false, destructiveHint=false, idempotentHint=false, openWorldHint=true; the description adds nothing about what a partial update changes or preserves. Worse, it advertises create/list/retrieve/delete behavior that this operation does not perform, so it adds noise rather than disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, so it is not verbose, but every word is boilerplate that does not describe this operation; brevity earned by conveying nothing is not effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 2-parameter mutation tool with no output schema and no annotation detail about semantics needs the description to explain the partial-update contract and the meaning of `body`. None of that is present, so an agent cannot safely invoke it from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters have 0% schema description coverage, and the description says nothing about `id` (required identifier of the endpoint) or `body` (the arbitrary object of fields to patch). This is the case where the description was obligated to compensate and completely failed to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never says what this specific tool does; it lists "create, list, retrieve, update, and delete" while the tool name and schema (only `id` + `body`, both optional-update shaped) indicate a PATCH-style partial update on webhook endpoints. This actively misdescribes scope and gives no basis for distinguishing it from the sibling list/create/retrieve/destroy tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, no preconditions, no mention of alternatives such as `..._update` (full update) or `..._retrieve`. An agent reading this would have no idea it should prefer this tool only for partial field changes to an existing webhook endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_webhooks_endpoints_retrieveApi webhooks endpoints retrieveCRead-onlyIdempotent
Return a single object with unauthorized related fields masked.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context by noting that unauthorized related fields are masked, though it does not describe permissions or the response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single concise sentence with no filler and leads with the return action. However, it is under-specified and could use the space to name the resource being retrieved.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieve endpoint, the annotations cover safety and idempotency, and the description adds the masking behavior. It is minimum viable, but still omits the target resource, id semantics, and what unauthorized masking means in practice.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required id parameter with 0% description coverage, and the description never mentions the id or explains what kind of identifier it expects. It only implies a single-object lookup, so it 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says "Return a single object," which restates the retrieve action but never identifies the resource as a webhook endpoint. It does not distinguish this tool from sibling retrieve/object_retrieve endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus the webhooks endpoints list or object_retrieve alternatives. The only implied usage is retrieving one item, but no selection criteria are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_webhooks_endpoints_updateApi webhooks endpoints updateDIdempotent
API endpoint to create, list, retrieve, update, and delete
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the write/idempotency profile is covered. The description adds nothing beyond that: it does not say what part of an endpoint record is replaced, whether the free-form body is merged or overwritten, what permissions are needed, or what is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, but it is boilerplate that does not earn its place — it is not front-loaded on the actual operation and its multi-verb enumeration is wasted text for a single-verb tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an untyped free-form body, 0% parameter documentation, and no output schema, the description supplies none of the information an agent needs to construct a valid update call. The one piece of structured guidance available (annotations) is already machine-readable, so nothing substantive is added.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% with 2 parameters, and the body is an unconstrained additionalProperties object, so the schema gives the agent almost nothing to work with. The description provides no hint about what fields the body accepts (url, event types, secret, active flag), leaving the required payload shape entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never names the resource (webhook endpoints) and reads as generic OpenAPI boilerplate: "API endpoint to create, list, retrieve, update, and delete." It lists five operations for a tool whose name/title claims only update, so an agent cannot tell from the description what this specific tool does or how it differs from the sibling _create/_list/_retrieve/_destroy/_partial_update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no routing to the sibling endpoints_create / endpoints_list / endpoints_destroy tools that actually perform the other operations the description claims. The blanket CRUD phrasing actively encourages the agent to call this tool for reads or deletes it cannot perform.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_api_webhooks_event_types_retrieveApi webhooks event types retrieveARead-onlyIdempotent
Returns a list of all registered event type strings.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so safety is covered. The description adds that the payload is a flat list of strings, but says nothing about auth requirements, whether the list is static or dynamic, or ordering/pagination — modest additional value given annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no waste. It is efficient, though it is borderline thin for the tool's discovery role — one clause about what these strings are used for would have been worth its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only enumeration endpoint with full annotation coverage and no output schema, the description conveys enough to call it correctly. Only the return shape ('list of strings') is stated, but that is the key detail an agent needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4 and there is nothing the description needs to disambiguate. The sentence correctly clarifies that the response is a list of strings, which is the only semantic surface here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource — returns all registered webhook event type strings — which is clear and distinguishable from endpoints-related siblings. It stops short of explicitly contrasting with any sibling tool, so a 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use statement or named alternative. The use case (discovering valid event types to configure a webhook endpoint) is only inferable from the wording 'registered event type strings', so 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.
ciso_assistant_serdes_attachment_metadata_retrieveSerdes attachment metadata retrieveCRead-onlyIdempotent
GET endpoint that returns paginated metadata for all attachments.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 'paginated', but with a zero-property input schema it never explains how pagination is controlled (server-side default? headers? offset?) nor what permission or scope is needed for an openWorldHint endpoint — the single behavioral claim it makes is unactionable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded, with no padding. The opening 'GET endpoint that' is redundant implementation framing rather than something the agent can act on, which is the only waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, no parameters, and no annotations about return shape, so the description is the only source of information about the response. It says 'metadata for all attachments' without naming any fields (id, filename, size, mime type, download URL), which is insufficient for an agent to decide whether this tool answers its question or whether it must follow up with a download call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters the baseline would be 4, but the description asserts a 'paginated' result while the schema exposes no page/page_size parameters. That introduces a semantic the schema cannot satisfy, so it slightly undercuts rather than clarifies the call surface.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('returns') and resource ('paginated metadata for all attachments'), which implicitly distinguishes it from the sibling batch download/upload tools that move attachment content. However, it does not explicitly name a sibling or clarify the 'serdes' container scope, so the differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisites, or alternatives are given. Given the presence of ciso_assistant_serdes_batch_download_attachments_create and batch_upload_attachments_create siblings, the agent gets no guidance on whether to call this first to enumerate attachments before downloading them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_serdes_batch_download_attachments_createSerdes batch download attachments createC
POST endpoint that streams multiple attachments in a custom binary format.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare openWorldHint, idempotency, and non-destructive behavior, so the bar is lower. The description adds the streaming binary-format detail, but omits how attachments are selected, whether a request body/query is required, and what the custom binary format entails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words. It is terse, but not redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The definition is incomplete for a batch download endpoint: the input schema is empty and there is no output schema, yet the description does not explain how the attachments to download are specified or what the binary format contains. An agent cannot determine how to 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero input parameters, so per the baseline this dimension scores 4; there are no parameter semantics to clarify. The description does not need to document parameters that do not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('streams multiple attachments') and output format ('custom binary format'), which distinguishes it from the upload sibling by verb. However, it never explains which attachments are selected or how the batch is identified, leaving the core behavior ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus batch_upload_attachments, attachment_metadata_retrieve, or individual attachment retrieval. The agent must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_serdes_batch_upload_attachments_createSerdes batch upload attachments createC
POST endpoint that accepts multiple attachments in custom binary format.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already disclose that this is a non-readonly, non-idempotent, open-world, non-destructive operation, so the safety profile is partly covered. The description adds only 'custom binary format' and does not explain the format, authentication requirements, size limits, or what happens to existing attachments.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler or repetition. It is concise, though its terseness contributes to the missing usage and format details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a serdes batch-upload tool with no output schema and an empty input schema, the description leaves critical gaps: how the binary payload is supplied, prerequisites, and how this fits with load_backup and full_restore siblings. It is not complete enough to guide correct invocation in this complex backup/restore context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero parameters, which would normally give a baseline of 4, but the description implies an attachment payload that the empty schema does not model. 'Custom binary format' adds some semantic information, yet it does not clarify encoding, multipart structure, or how multiple attachments are distinguished.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a batch-attachment upload operation and adds that the payload is in a custom binary format. It is clear about the action and resource, but remains somewhat API-level ('POST endpoint') and does not distinguish this from sibling serdes batch-download or restore tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what prerequisites exist, or how it relates to alternatives such as serdes_batch_download_attachments_create, serdes_load_backup_create, or serdes_full_restore_create. The agent is left to infer usage entirely from the name and terse description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_serdes_dump_db_retrieveSerdes dump db retrieveCRead-onlyIdempotent
serdes_dump_db_retrieve
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond those hints – it does not say what a "dump" contains, whether it is a live backup stream or a stored artifact, whether it is expensive, or what the open-world interaction implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single slug is technically concise but represents under-specification rather than efficient communication; there is no front-loaded statement of purpose or scope. Nothing is wasted because nothing is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a database-dump operation with no output schema and a large, closely related serdes sibling set; the description supplies none of the information needed to call it sensibly or anticipate a potentially large/streaming response. Even accounting for the annotations, an agent has no basis for deciding when this is the right tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (empty object schema), so there is no parameter semantics to explain and the baseline of 4 applies. The description neither helps nor harms here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the slug "serdes_dump_db_retrieve", which restates the name and title without adding a verb-and-resource explanation. An agent cannot tell from it what is actually dumped, in what format, or how it differs from siblings such as ciso_assistant_api_serdes_full_restore_create or ciso_assistant_serdes_load_backup_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the closely related serdes siblings (full restore, load backup, batch attachment download/upload). The description contains no context, prerequisites, or exclusions, so the choice must be inferred entirely from the slug.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_serdes_full_restore_createSerdes full restore createC
POST endpoint for atomic database + attachments restore.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare destructiveHint=false, but the description explicitly says this performs a full database and attachments restore, which implies overwriting/replacing existing data rather than an additive update. That contradicts the non-destructive annotation, and the description adds no details about permissions, irreversibility, or execution behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler beyond the implementation detail 'POST endpoint'. It is efficient, though extremely terse for a high-impact restore operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-impact full restore tool with no output schema and no parameters, the description is too thin. It does not explain how the backup is supplied, what happens to existing data, required authorization, or what the caller should expect after execution.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero input parameters and the schema is intentionally empty, so parameter semantics are not applicable. The description does not need to explain parameters, and no misleading parameter information is present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource scope: an 'atomic database + attachments restore' initiated via POST. That is clear enough for an agent to understand the tool's function, but it does not distinguish it from sibling backup/restore tools such as ciso_assistant_serdes_load_backup_create or ciso_assistant_serdes_dump_db_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus serdes_load_backup_create, serdes_dump_db_retrieve, or the attachment upload/download tools. It also does not state prerequisites, expected input source, or precautions before invoking a full restore.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_assistant_serdes_load_backup_createSerdes load backup createD
serdes_load_backup_create
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and openWorldHint=true, implying a mutating operation, but the description adds zero context about what state is overwritten, whether existing data is replaced or merged, or what permissions are required. For a backup-load operation this is a serious omission, though no annotation contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single unpunctuated token, so it wastes no words, but this is under-specification rather than conciseness — the string carries no explanatory content at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive-by-nature backup load with no output schema and an openWorldHint, the definition supplies nothing about scope, side effects, or expected input/upload mechanism. The agent cannot tell what this operation actually does to the system.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and 100% schema coverage, there is nothing for the description to clarify; the schema is trivially complete. Baseline 4 applies since no parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name restated ('serdes_load_backup_create') with no verb-object phrasing in prose. It gives no indication that this loads a serialized backup into the instance, and nothing distinguishes it from siblings like serdes_full_restore_create or serdes_dump_db_retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus serdes_full_restore_create or other serdes operations, no prerequisites, and no warning about what a 'load' implies. An agent has no basis for choosing among the overlapping serdes siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ciso_ingestCiso IngestA
List a CISO Assistant GRC record kind and natively ingest it into epistemic-graph.
Maps records to typed OWL nodes (:RiskScenario / :Control / :Audit /
:Incident / :Asset / :Vulnerability) or, for evidences, :Document
nodes plus attachment blobs. Best-effort — returns {"ingested": null} when no
engine is reachable. CONCEPT:AU-KG.ingest.enterprise-source-extractor.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | GRC record kind to list and ingest into the knowledge graph. One of: 'risk_assessments', 'risk_scenarios', 'applied_controls', 'compliance_assessments', 'incidents', 'assets', 'vulnerabilities', 'evidences'. | |
| params_json | No | JSON string of list filters (e.g. folder, limit) for the client. | {} |
| ingest_attachments | No | For kind='evidences', also store attachment file bytes as :Blob/:MediaAsset. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does a solid job: it discloses the write side effect (creating typed OWL nodes), attachment blob storage, the best-effort contract, and the exact degraded return value {"ingested": null}. It omits idempotency, duplicate handling, and permission requirements, which matter for a tool that writes into a graph.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action is front-loaded in the first sentence, followed by the mapping and failure-mode details in order of importance. The CONCEPT tag is internal jargon but short; no sentence is clearly wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, yet the description only documents the failure return shape ({"ingested": null}) and never describes what a successful ingestion returns, nor whether repeated calls duplicate nodes. For a three-parameter write-style tool that gap leaves the agent guessing about the main outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so kind, params_json, and ingest_attachments are already fully documented in the input schema, making 3 the baseline. The description adds only marginal meaning, chiefly the OWL node each kind maps to and the evidences/Document-plus-blob case that relates to ingest_attachments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair and resource: 'List a CISO Assistant GRC record kind and natively ingest it into epistemic-graph', then names the concrete target node types. This is unmistakably distinct from every ciso_assistant_api_* CRUD sibling, which the agent can rule out without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the selection context clear: this is the graph-ingestion path, not the REST CRUD path, and 'Best-effort' sets expectations for the call. It does not, however, state explicit exclusions (e.g. when to prefer ciso_assistant_api_*_list plus a separate write), 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1567 tool updates
v2.3.6- First observed
ciso_assistant_api_accounts_saml_download_cert_retrieve - First observed
ciso_assistant_api_accounts_saml_generate_keys_create - First observed
ciso_assistant_api_actors_cascade_info_retrieve - First observed
ciso_assistant_api_actors_list - First observed
ciso_assistant_api_actors_object_retrieve - First observed
ciso_assistant_api_actors_retrieve - First observed
ciso_assistant_api_agg_data_retrieve - First observed
ciso_assistant_api_analytics_export_xlsx_retrieve - First observed
ciso_assistant_api_answers_batch_action_create - First observed
ciso_assistant_api_answers_cascade_info_retrieve - First observed
ciso_assistant_api_answers_create - First observed
ciso_assistant_api_answers_destroy - First observed
ciso_assistant_api_answers_list - First observed
ciso_assistant_api_answers_object_retrieve - First observed
ciso_assistant_api_answers_partial_update - First observed
ciso_assistant_api_answers_retrieve - First observed
ciso_assistant_api_answers_update - First observed
ciso_assistant_api_applied_controls_analytics_retrieve - First observed
ciso_assistant_api_applied_controls_autocomplete_retrieve - First observed
ciso_assistant_api_applied_controls_batch_action_create - First observed
ciso_assistant_api_applied_controls_cascade_info_retrieve - First observed
ciso_assistant_api_applied_controls_category_retrieve - First observed
ciso_assistant_api_applied_controls_control_impact_retrieve - First observed
ciso_assistant_api_applied_controls_create - First observed
ciso_assistant_api_applied_controls_csf_function_retrieve - First observed
ciso_assistant_api_applied_controls_destroy - First observed
ciso_assistant_api_applied_controls_duplicate_create - First observed
ciso_assistant_api_applied_controls_effort_retrieve - First observed
ciso_assistant_api_applied_controls_export_csv_retrieve - First observed
ciso_assistant_api_applied_controls_export_xlsx_retrieve - First observed
ciso_assistant_api_applied_controls_get_controls_info_retrieve - First observed
ciso_assistant_api_applied_controls_get_gantt_data_retrieve - First observed
ciso_assistant_api_applied_controls_get_timeline_info_retrieve - First observed
ciso_assistant_api_applied_controls_ids_retrieve - First observed
ciso_assistant_api_applied_controls_impact_effort_retrieve - First observed
ciso_assistant_api_applied_controls_impact_graph_retrieve - First observed
ciso_assistant_api_applied_controls_linked_models_retrieve - First observed
ciso_assistant_api_applied_controls_list - First observed
ciso_assistant_api_applied_controls_merge_create - First observed
ciso_assistant_api_applied_controls_mss_xlsx_retrieve - First observed
ciso_assistant_api_applied_controls_object_retrieve - First observed
ciso_assistant_api_applied_controls_owner_retrieve - First observed
ciso_assistant_api_applied_controls_partial_update - First observed
ciso_assistant_api_applied_controls_per_status_retrieve - First observed
ciso_assistant_api_applied_controls_priority_chart_data_retrieve - First observed
ciso_assistant_api_applied_controls_priority_retrieve - First observed
ciso_assistant_api_applied_controls_retrieve - First observed
ciso_assistant_api_applied_controls_status_retrieve - First observed
ciso_assistant_api_applied_controls_sunburst_data_retrieve - First observed
ciso_assistant_api_applied_controls_sync_to_reference_control_create - First observed
ciso_assistant_api_applied_controls_to_review_retrieve - First observed
ciso_assistant_api_applied_controls_todo_retrieve - First observed
ciso_assistant_api_applied_controls_updatables_retrieve - First observed
ciso_assistant_api_applied_controls_update - First observed
ciso_assistant_api_asset_capabilities_batch_action_create - First observed
ciso_assistant_api_asset_capabilities_cascade_info_retrieve - First observed
ciso_assistant_api_asset_capabilities_create - First observed
ciso_assistant_api_asset_capabilities_destroy - First observed
ciso_assistant_api_asset_capabilities_list - First observed
ciso_assistant_api_asset_capabilities_object_retrieve - First observed
ciso_assistant_api_asset_capabilities_partial_update - First observed
ciso_assistant_api_asset_capabilities_retrieve - First observed
ciso_assistant_api_asset_capabilities_update - First observed
ciso_assistant_api_asset_class_batch_action_create - First observed
ciso_assistant_api_asset_class_cascade_info_retrieve - First observed
ciso_assistant_api_asset_class_create - First observed
ciso_assistant_api_asset_class_destroy - First observed
ciso_assistant_api_asset_class_list - First observed
ciso_assistant_api_asset_class_object_retrieve - First observed
ciso_assistant_api_asset_class_partial_update - First observed
ciso_assistant_api_asset_class_retrieve - First observed
ciso_assistant_api_asset_class_tree_retrieve - First observed
ciso_assistant_api_asset_class_update - First observed
ciso_assistant_api_assets_asset_class_retrieve - First observed
ciso_assistant_api_assets_autocomplete_retrieve - First observed
ciso_assistant_api_assets_batch_action_create - First observed
ciso_assistant_api_assets_batch_create_create - First observed
ciso_assistant_api_assets_cascade_info_retrieve - First observed
ciso_assistant_api_assets_create - First observed
ciso_assistant_api_assets_destroy - First observed
ciso_assistant_api_assets_disaster_recovery_objectives_retrieve - First observed
ciso_assistant_api_assets_dora_criticality_assessment_retrieve - First observed
ciso_assistant_api_assets_dora_discontinuing_impact_retrieve - First observed
ciso_assistant_api_assets_dora_licenced_activity_retrieve - First observed
ciso_assistant_api_assets_export_csv_retrieve - First observed
ciso_assistant_api_assets_export_xlsx_retrieve - First observed
ciso_assistant_api_assets_graph_retrieve - First observed
ciso_assistant_api_assets_ids_retrieve - First observed
ciso_assistant_api_assets_list - First observed
ciso_assistant_api_assets_object_retrieve - First observed
ciso_assistant_api_assets_partial_update - First observed
ciso_assistant_api_assets_retrieve - First observed
ciso_assistant_api_assets_security_objectives_retrieve - First observed
ciso_assistant_api_assets_type_retrieve - First observed
ciso_assistant_api_assets_update - First observed
ciso_assistant_api_build_retrieve - First observed
ciso_assistant_api_campaigns_batch_action_create - First observed
ciso_assistant_api_campaigns_cascade_info_retrieve - First observed
ciso_assistant_api_campaigns_create - First observed
ciso_assistant_api_campaigns_destroy - First observed
ciso_assistant_api_campaigns_list - First observed
ciso_assistant_api_campaigns_metrics_retrieve - First observed
ciso_assistant_api_campaigns_object_retrieve - First observed
ciso_assistant_api_campaigns_partial_update - First observed
ciso_assistant_api_campaigns_retrieve - First observed
ciso_assistant_api_campaigns_status_retrieve - First observed
ciso_assistant_api_campaigns_update - First observed
ciso_assistant_api_chat_agent_actions_approve_create - First observed
ciso_assistant_api_chat_agent_actions_batch_action_create - First observed
ciso_assistant_api_chat_agent_actions_cascade_info_retrieve - First observed
ciso_assistant_api_chat_agent_actions_create - First observed
ciso_assistant_api_chat_agent_actions_list - First observed
ciso_assistant_api_chat_agent_actions_object_retrieve - First observed
ciso_assistant_api_chat_agent_actions_reject_create - First observed
ciso_assistant_api_chat_agent_actions_retrieve - First observed
ciso_assistant_api_chat_agent_runs_batch_action_create - First observed
ciso_assistant_api_chat_agent_runs_cancel_create - First observed
ciso_assistant_api_chat_agent_runs_cascade_info_retrieve - First observed
ciso_assistant_api_chat_agent_runs_create - First observed
ciso_assistant_api_chat_agent_runs_list - First observed
ciso_assistant_api_chat_agent_runs_object_retrieve - First observed
ciso_assistant_api_chat_agent_runs_retrieve - First observed
ciso_assistant_api_chat_agent_runs_start_questionnaire_prefill_create - First observed
ciso_assistant_api_chat_documents_batch_action_create - First observed
ciso_assistant_api_chat_documents_cascade_info_retrieve - First observed
ciso_assistant_api_chat_documents_create - First observed
ciso_assistant_api_chat_documents_destroy - First observed
ciso_assistant_api_chat_documents_list - First observed
ciso_assistant_api_chat_documents_object_retrieve - First observed
ciso_assistant_api_chat_documents_partial_update - First observed
ciso_assistant_api_chat_documents_retrieve - First observed
ciso_assistant_api_chat_documents_update - First observed
ciso_assistant_api_chat_ollama_models_retrieve - First observed
ciso_assistant_api_chat_questionnaire_questions_batch_action_create - First observed
ciso_assistant_api_chat_questionnaire_questions_cascade_info_retrieve - First observed
ciso_assistant_api_chat_questionnaire_questions_create - First observed
ciso_assistant_api_chat_questionnaire_questions_create_and_retry_create - First observed
ciso_assistant_api_chat_questionnaire_questions_destroy - First observed
ciso_assistant_api_chat_questionnaire_questions_list - First observed
ciso_assistant_api_chat_questionnaire_questions_object_retrieve - First observed
ciso_assistant_api_chat_questionnaire_questions_partial_update - First observed
ciso_assistant_api_chat_questionnaire_questions_retrieve - First observed
ciso_assistant_api_chat_questionnaire_questions_retry_with_control_create - First observed
ciso_assistant_api_chat_questionnaire_questions_suggest_control_create - First observed
ciso_assistant_api_chat_questionnaire_questions_update - First observed
ciso_assistant_api_chat_questionnaire_runs_batch_action_create - First observed
ciso_assistant_api_chat_questionnaire_runs_cascade_info_retrieve - First observed
ciso_assistant_api_chat_questionnaire_runs_create - First observed
ciso_assistant_api_chat_questionnaire_runs_destroy - First observed
ciso_assistant_api_chat_questionnaire_runs_export_retrieve - First observed
ciso_assistant_api_chat_questionnaire_runs_extract_questions_create - First observed
ciso_assistant_api_chat_questionnaire_runs_list - First observed
ciso_assistant_api_chat_questionnaire_runs_mapping_partial_update - First observed
ciso_assistant_api_chat_questionnaire_runs_object_retrieve - First observed
ciso_assistant_api_chat_questionnaire_runs_partial_update - First observed
ciso_assistant_api_chat_questionnaire_runs_retrieve - First observed
ciso_assistant_api_chat_questionnaire_runs_update - First observed
ciso_assistant_api_chat_questionnaire_runs_upload_create - First observed
ciso_assistant_api_chat_sessions_batch_action_create - First observed
ciso_assistant_api_chat_sessions_cascade_info_retrieve - First observed
ciso_assistant_api_chat_sessions_create - First observed
ciso_assistant_api_chat_sessions_destroy - First observed
ciso_assistant_api_chat_sessions_list - First observed
ciso_assistant_api_chat_sessions_message_create - First observed
ciso_assistant_api_chat_sessions_object_retrieve - First observed
ciso_assistant_api_chat_sessions_partial_update - First observed
ciso_assistant_api_chat_sessions_retrieve - First observed
ciso_assistant_api_chat_sessions_update - First observed
ciso_assistant_api_chat_sessions_upload_create - First observed
ciso_assistant_api_chat_status_retrieve - First observed
ciso_assistant_api_comments_batch_action_create - First observed
ciso_assistant_api_comments_cascade_info_retrieve - First observed
ciso_assistant_api_comments_create - First observed
ciso_assistant_api_comments_destroy - First observed
ciso_assistant_api_comments_list - First observed
ciso_assistant_api_comments_object_retrieve - First observed
ciso_assistant_api_comments_partial_update - First observed
ciso_assistant_api_comments_retrieve - First observed
ciso_assistant_api_comments_update - First observed
ciso_assistant_api_compliance_assessments_action_plan_budget_overview_list - First observed
ciso_assistant_api_compliance_assessments_action_plan_csv_retrieve - First observed
ciso_assistant_api_compliance_assessments_action_plan_list - First observed
ciso_assistant_api_compliance_assessments_action_plan_pdf_retrieve - First observed
ciso_assistant_api_compliance_assessments_action_plan_xlsx_retrieve - First observed
ciso_assistant_api_compliance_assessments_analytics_retrieve - First observed
ciso_assistant_api_compliance_assessments_auditee_dashboard_retrieve - First observed
ciso_assistant_api_compliance_assessments_batch_action_create - First observed
ciso_assistant_api_compliance_assessments_cascade_info_retrieve - First observed
ciso_assistant_api_compliance_assessments_combined_tree_retrieve - First observed
ciso_assistant_api_compliance_assessments_comparable_audits_retrieve - First observed
ciso_assistant_api_compliance_assessments_compare_retrieve - First observed
ciso_assistant_api_compliance_assessments_compliance_assessment_csv_retrieve - First observed
ciso_assistant_api_compliance_assessments_compliance_timeline_retrieve - First observed
ciso_assistant_api_compliance_assessments_controls_coverage_retrieve - First observed
ciso_assistant_api_compliance_assessments_create - First observed
ciso_assistant_api_compliance_assessments_cyfun_xlsx_retrieve - First observed
ciso_assistant_api_compliance_assessments_destroy - First observed
ciso_assistant_api_compliance_assessments_donut_data_retrieve - First observed
ciso_assistant_api_compliance_assessments_evidence_coverage_retrieve - First observed
ciso_assistant_api_compliance_assessments_evidences_list_list - First observed
ciso_assistant_api_compliance_assessments_exceptions_summary_retrieve - First observed
ciso_assistant_api_compliance_assessments_export_retrieve - First observed
ciso_assistant_api_compliance_assessments_frameworks_retrieve - First observed
ciso_assistant_api_compliance_assessments_global_score_retrieve - First observed
ciso_assistant_api_compliance_assessments_implementation_groups_breakdown_retrieve - First observed
ciso_assistant_api_compliance_assessments_is_auditee_retrieve - First observed
ciso_assistant_api_compliance_assessments_list - First observed
ciso_assistant_api_compliance_assessments_mailing_create - First observed
ciso_assistant_api_compliance_assessments_map_from_create - First observed
ciso_assistant_api_compliance_assessments_map_from_preview_retrieve - First observed
ciso_assistant_api_compliance_assessments_object_retrieve - First observed
ciso_assistant_api_compliance_assessments_partial_update - First observed
ciso_assistant_api_compliance_assessments_per_status_retrieve - First observed
ciso_assistant_api_compliance_assessments_progress_ts_retrieve - First observed
ciso_assistant_api_compliance_assessments_quality_check_retrieve - First observed
ciso_assistant_api_compliance_assessments_quality_check_retrieve_2 - First observed
ciso_assistant_api_compliance_assessments_recap_retrieve - First observed
ciso_assistant_api_compliance_assessments_requirements_list_retrieve - First observed
ciso_assistant_api_compliance_assessments_retrieve - First observed
ciso_assistant_api_compliance_assessments_score_calculation_method_retrieve - First observed
ciso_assistant_api_compliance_assessments_section_compliance_retrieve - First observed
ciso_assistant_api_compliance_assessments_soa_retrieve - First observed
ciso_assistant_api_compliance_assessments_status_retrieve - First observed
ciso_assistant_api_compliance_assessments_suggestions_applied_controls_create - First observed
ciso_assistant_api_compliance_assessments_suggestions_applied_controls_retrieve - First observed
ciso_assistant_api_compliance_assessments_sync_to_actions_create - First observed
ciso_assistant_api_compliance_assessments_sync_to_actions_retrieve - First observed
ciso_assistant_api_compliance_assessments_threats_metrics_retrieve - First observed
ciso_assistant_api_compliance_assessments_tree_retrieve - First observed
ciso_assistant_api_compliance_assessments_update - First observed
ciso_assistant_api_compliance_assessments_update_requirement_create - First observed
ciso_assistant_api_compliance_assessments_word_report_retrieve - First observed
ciso_assistant_api_compliance_assessments_xlsx_retrieve - First observed
ciso_assistant_api_composer_data_retrieve - First observed
ciso_assistant_api_content_types_retrieve - First observed
ciso_assistant_api_contracts_batch_action_create - First observed
ciso_assistant_api_contracts_cascade_info_retrieve - First observed
ciso_assistant_api_contracts_create - First observed
ciso_assistant_api_contracts_currency_retrieve - First observed
ciso_assistant_api_contracts_destroy - First observed
ciso_assistant_api_contracts_dora_contractual_arrangement_retrieve - First observed
ciso_assistant_api_contracts_export_csv_retrieve - First observed
ciso_assistant_api_contracts_export_xlsx_retrieve - First observed
ciso_assistant_api_contracts_governing_law_country_retrieve - First observed
ciso_assistant_api_contracts_list - First observed
ciso_assistant_api_contracts_object_retrieve - First observed
ciso_assistant_api_contracts_partial_update - First observed
ciso_assistant_api_contracts_retrieve - First observed
ciso_assistant_api_contracts_status_retrieve - First observed
ciso_assistant_api_contracts_termination_reason_retrieve - First observed
ciso_assistant_api_contracts_update - First observed
ciso_assistant_api_crq_quantitative_risk_hypotheses_batch_action_create - First observed
ciso_assistant_api_crq_quantitative_risk_hypotheses_cascade_info_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_hypotheses_create - First observed
ciso_assistant_api_crq_quantitative_risk_hypotheses_default_ref_id_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_hypotheses_destroy - First observed
ciso_assistant_api_crq_quantitative_risk_hypotheses_lec_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_hypotheses_list - First observed
ciso_assistant_api_crq_quantitative_risk_hypotheses_object_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_hypotheses_partial_update - First observed
ciso_assistant_api_crq_quantitative_risk_hypotheses_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_hypotheses_risk_stage_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_hypotheses_run_simulation_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_hypotheses_update - First observed
ciso_assistant_api_crq_quantitative_risk_scenarios_batch_action_create - First observed
ciso_assistant_api_crq_quantitative_risk_scenarios_cascade_info_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_scenarios_create - First observed
ciso_assistant_api_crq_quantitative_risk_scenarios_default_ref_id_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_scenarios_destroy - First observed
ciso_assistant_api_crq_quantitative_risk_scenarios_lec_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_scenarios_list - First observed
ciso_assistant_api_crq_quantitative_risk_scenarios_object_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_scenarios_partial_update - First observed
ciso_assistant_api_crq_quantitative_risk_scenarios_priority_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_scenarios_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_scenarios_status_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_scenarios_update - First observed
ciso_assistant_api_crq_quantitative_risk_studies_action_plan_budget_overview_list - First observed
ciso_assistant_api_crq_quantitative_risk_studies_action_plan_list - First observed
ciso_assistant_api_crq_quantitative_risk_studies_ale_comparison_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_studies_batch_action_create - First observed
ciso_assistant_api_crq_quantitative_risk_studies_cascade_info_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_studies_combined_ale_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_studies_combined_lec_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_studies_create - First observed
ciso_assistant_api_crq_quantitative_risk_studies_destroy - First observed
ciso_assistant_api_crq_quantitative_risk_studies_distribution_model_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_studies_executive_summary_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_studies_key_metrics_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_studies_list - First observed
ciso_assistant_api_crq_quantitative_risk_studies_object_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_studies_partial_update - First observed
ciso_assistant_api_crq_quantitative_risk_studies_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_studies_retrigger_all_simulations_create - First observed
ciso_assistant_api_crq_quantitative_risk_studies_status_retrieve - First observed
ciso_assistant_api_crq_quantitative_risk_studies_update - First observed
ciso_assistant_api_csrf_retrieve - First observed
ciso_assistant_api_cwes_autocomplete_retrieve - First observed
ciso_assistant_api_cwes_batch_action_create - First observed
ciso_assistant_api_cwes_cascade_info_retrieve - First observed
ciso_assistant_api_cwes_create - First observed
ciso_assistant_api_cwes_destroy - First observed
ciso_assistant_api_cwes_list - First observed
ciso_assistant_api_cwes_object_retrieve - First observed
ciso_assistant_api_cwes_partial_update - First observed
ciso_assistant_api_cwes_retrieve - First observed
ciso_assistant_api_cwes_sync_catalog_create - First observed
ciso_assistant_api_cwes_update - First observed
ciso_assistant_api_data_wizard_load_file_create - First observed
ciso_assistant_api_document_attachments_batch_action_create - First observed
ciso_assistant_api_document_attachments_cascade_info_retrieve - First observed
ciso_assistant_api_document_attachments_create - First observed
ciso_assistant_api_document_attachments_destroy - First observed
ciso_assistant_api_document_attachments_file_retrieve - First observed
ciso_assistant_api_document_attachments_object_retrieve - First observed
ciso_assistant_api_document_attachments_partial_update - First observed
ciso_assistant_api_document_attachments_retrieve - First observed
ciso_assistant_api_document_attachments_retrieve_2 - First observed
ciso_assistant_api_document_attachments_update - First observed
ciso_assistant_api_document_revisions_approve_create - First observed
ciso_assistant_api_document_revisions_batch_action_create - First observed
ciso_assistant_api_document_revisions_cascade_info_retrieve - First observed
ciso_assistant_api_document_revisions_create - First observed
ciso_assistant_api_document_revisions_destroy - First observed
ciso_assistant_api_document_revisions_diff_retrieve - First observed
ciso_assistant_api_document_revisions_edit_diff_retrieve - First observed
ciso_assistant_api_document_revisions_edit_history_retrieve - First observed
ciso_assistant_api_document_revisions_edit_snapshot_retrieve - First observed
ciso_assistant_api_document_revisions_editing_status_retrieve - First observed
ciso_assistant_api_document_revisions_export_pdf_retrieve - First observed
ciso_assistant_api_document_revisions_list - First observed
ciso_assistant_api_document_revisions_object_retrieve - First observed
ciso_assistant_api_document_revisions_partial_update - First observed
ciso_assistant_api_document_revisions_publish_create - First observed
ciso_assistant_api_document_revisions_request_changes_create - First observed
ciso_assistant_api_document_revisions_retrieve - First observed
ciso_assistant_api_document_revisions_start_editing_create - First observed
ciso_assistant_api_document_revisions_status_retrieve - First observed
ciso_assistant_api_document_revisions_stop_editing_create - First observed
ciso_assistant_api_document_revisions_submit_for_review_create - First observed
ciso_assistant_api_document_revisions_take_over_editing_create - First observed
ciso_assistant_api_document_revisions_update - First observed
ciso_assistant_api_ebios_rm_attack_paths_batch_action_create - First observed
ciso_assistant_api_ebios_rm_attack_paths_cascade_info_retrieve - First observed
ciso_assistant_api_ebios_rm_attack_paths_create - First observed
ciso_assistant_api_ebios_rm_attack_paths_destroy - First observed
ciso_assistant_api_ebios_rm_attack_paths_list - First observed
ciso_assistant_api_ebios_rm_attack_paths_object_retrieve - First observed
ciso_assistant_api_ebios_rm_attack_paths_partial_update - First observed
ciso_assistant_api_ebios_rm_attack_paths_retrieve - First observed
ciso_assistant_api_ebios_rm_attack_paths_update - First observed
ciso_assistant_api_ebios_rm_elementary_actions_attack_stage_retrieve - First observed
ciso_assistant_api_ebios_rm_elementary_actions_batch_action_create - First observed
ciso_assistant_api_ebios_rm_elementary_actions_cascade_info_retrieve - First observed
ciso_assistant_api_ebios_rm_elementary_actions_create - First observed
ciso_assistant_api_ebios_rm_elementary_actions_destroy - First observed
ciso_assistant_api_ebios_rm_elementary_actions_icon_retrieve - First observed
ciso_assistant_api_ebios_rm_elementary_actions_list - First observed
ciso_assistant_api_ebios_rm_elementary_actions_object_retrieve - First observed
ciso_assistant_api_ebios_rm_elementary_actions_partial_update - First observed
ciso_assistant_api_ebios_rm_elementary_actions_retrieve - First observed
ciso_assistant_api_ebios_rm_elementary_actions_update - First observed
ciso_assistant_api_ebios_rm_feared_events_batch_action_create - First observed
ciso_assistant_api_ebios_rm_feared_events_batch_create_create - First observed
ciso_assistant_api_ebios_rm_feared_events_cascade_info_retrieve - First observed
ciso_assistant_api_ebios_rm_feared_events_create - First observed
ciso_assistant_api_ebios_rm_feared_events_destroy - First observed
ciso_assistant_api_ebios_rm_feared_events_gravity_retrieve - First observed
ciso_assistant_api_ebios_rm_feared_events_list - First observed
ciso_assistant_api_ebios_rm_feared_events_object_retrieve - First observed
ciso_assistant_api_ebios_rm_feared_events_partial_update - First observed
ciso_assistant_api_ebios_rm_feared_events_retrieve - First observed
ciso_assistant_api_ebios_rm_feared_events_risk_matrix_retrieve - First observed
ciso_assistant_api_ebios_rm_feared_events_update - First observed
ciso_assistant_api_ebios_rm_kill_chains_batch_action_create - First observed
ciso_assistant_api_ebios_rm_kill_chains_cascade_info_retrieve - First observed
ciso_assistant_api_ebios_rm_kill_chains_create - First observed
ciso_assistant_api_ebios_rm_kill_chains_destroy - First observed
ciso_assistant_api_ebios_rm_kill_chains_list - First observed
ciso_assistant_api_ebios_rm_kill_chains_logic_operator_retrieve - First observed
ciso_assistant_api_ebios_rm_kill_chains_object_retrieve - First observed
ciso_assistant_api_ebios_rm_kill_chains_partial_update - First observed
ciso_assistant_api_ebios_rm_kill_chains_retrieve - First observed
ciso_assistant_api_ebios_rm_kill_chains_update - First observed
ciso_assistant_api_ebios_rm_operating_modes_batch_action_create - First observed
ciso_assistant_api_ebios_rm_operating_modes_build_graph_retrieve - First observed
ciso_assistant_api_ebios_rm_operating_modes_cascade_info_retrieve - First observed
ciso_assistant_api_ebios_rm_operating_modes_create - First observed
ciso_assistant_api_ebios_rm_operating_modes_default_ref_id_retrieve - First observed
ciso_assistant_api_ebios_rm_operating_modes_destroy - First observed
ciso_assistant_api_ebios_rm_operating_modes_likelihood_retrieve - First observed
ciso_assistant_api_ebios_rm_operating_modes_list - First observed
ciso_assistant_api_ebios_rm_operating_modes_object_retrieve - First observed
ciso_assistant_api_ebios_rm_operating_modes_partial_update - First observed
ciso_assistant_api_ebios_rm_operating_modes_retrieve - First observed
ciso_assistant_api_ebios_rm_operating_modes_save_graph_create - First observed
ciso_assistant_api_ebios_rm_operating_modes_update - First observed
ciso_assistant_api_ebios_rm_operational_scenarios_batch_action_create - First observed
ciso_assistant_api_ebios_rm_operational_scenarios_cascade_info_retrieve - First observed
ciso_assistant_api_ebios_rm_operational_scenarios_create - First observed
ciso_assistant_api_ebios_rm_operational_scenarios_destroy - First observed
ciso_assistant_api_ebios_rm_operational_scenarios_likelihood_retrieve - First observed
ciso_assistant_api_ebios_rm_operational_scenarios_list - First observed
ciso_assistant_api_ebios_rm_operational_scenarios_object_retrieve - First observed
ciso_assistant_api_ebios_rm_operational_scenarios_partial_update - First observed
ciso_assistant_api_ebios_rm_operational_scenarios_retrieve - First observed
ciso_assistant_api_ebios_rm_operational_scenarios_risk_matrix_retrieve - First observed
ciso_assistant_api_ebios_rm_operational_scenarios_update - First observed
ciso_assistant_api_ebios_rm_ro_to_activity_retrieve - First observed
ciso_assistant_api_ebios_rm_ro_to_batch_action_create - First observed
ciso_assistant_api_ebios_rm_ro_to_cascade_info_retrieve - First observed
ciso_assistant_api_ebios_rm_ro_to_create - First observed
ciso_assistant_api_ebios_rm_ro_to_destroy - First observed
ciso_assistant_api_ebios_rm_ro_to_list - First observed
ciso_assistant_api_ebios_rm_ro_to_motivation_retrieve - First observed
ciso_assistant_api_ebios_rm_ro_to_object_retrieve - First observed
ciso_assistant_api_ebios_rm_ro_to_partial_update - First observed
ciso_assistant_api_ebios_rm_ro_to_pertinence_retrieve - First observed
ciso_assistant_api_ebios_rm_ro_to_resources_retrieve - First observed
ciso_assistant_api_ebios_rm_ro_to_retrieve - First observed
ciso_assistant_api_ebios_rm_ro_to_update - First observed
ciso_assistant_api_ebios_rm_stakeholders_batch_action_create - First observed
ciso_assistant_api_ebios_rm_stakeholders_cascade_info_retrieve - First observed
ciso_assistant_api_ebios_rm_stakeholders_category_retrieve - First observed
ciso_assistant_api_ebios_rm_stakeholders_chart_data_retrieve - First observed
ciso_assistant_api_ebios_rm_stakeholders_create - First observed
ciso_assistant_api_ebios_rm_stakeholders_destroy - First observed
ciso_assistant_api_ebios_rm_stakeholders_list - First observed
ciso_assistant_api_ebios_rm_stakeholders_object_retrieve - First observed
ciso_assistant_api_ebios_rm_stakeholders_partial_update - First observed
ciso_assistant_api_ebios_rm_stakeholders_retrieve - First observed
ciso_assistant_api_ebios_rm_stakeholders_update - First observed
ciso_assistant_api_ebios_rm_strategic_scenarios_batch_action_create - First observed
ciso_assistant_api_ebios_rm_strategic_scenarios_cascade_info_retrieve - First observed
ciso_assistant_api_ebios_rm_strategic_scenarios_create - First observed
ciso_assistant_api_ebios_rm_strategic_scenarios_destroy - First observed
ciso_assistant_api_ebios_rm_strategic_scenarios_list - First observed
ciso_assistant_api_ebios_rm_strategic_scenarios_object_retrieve - First observed
ciso_assistant_api_ebios_rm_strategic_scenarios_partial_update - First observed
ciso_assistant_api_ebios_rm_strategic_scenarios_retrieve - First observed
ciso_assistant_api_ebios_rm_strategic_scenarios_update - First observed
ciso_assistant_api_ebios_rm_studies_batch_action_create - First observed
ciso_assistant_api_ebios_rm_studies_cascade_info_retrieve - First observed
ciso_assistant_api_ebios_rm_studies_create - First observed
ciso_assistant_api_ebios_rm_studies_destroy - First observed
ciso_assistant_api_ebios_rm_studies_ecosystem_chart_data_retrieve - First observed
ciso_assistant_api_ebios_rm_studies_ecosystem_circular_chart_data_retrieve - First observed
ciso_assistant_api_ebios_rm_studies_export_xlsx_retrieve - First observed
ciso_assistant_api_ebios_rm_studies_gravity_retrieve - First observed
ciso_assistant_api_ebios_rm_studies_likelihood_retrieve - First observed
ciso_assistant_api_ebios_rm_studies_list - First observed
ciso_assistant_api_ebios_rm_studies_object_retrieve - First observed
ciso_assistant_api_ebios_rm_studies_partial_update - First observed
ciso_assistant_api_ebios_rm_studies_quotation_method_retrieve - First observed
ciso_assistant_api_ebios_rm_studies_report_data_retrieve - First observed
ciso_assistant_api_ebios_rm_studies_retrieve - First observed
ciso_assistant_api_ebios_rm_studies_risk_matrix_retrieve - First observed
ciso_assistant_api_ebios_rm_studies_status_retrieve - First observed
ciso_assistant_api_ebios_rm_studies_update - First observed
ciso_assistant_api_ebios_rm_studies_visual_analysis_retrieve - First observed
ciso_assistant_api_ebios_rm_studies_workshop_step_partial_update - First observed
ciso_assistant_api_entities_batch_action_create - First observed
ciso_assistant_api_entities_batch_create_create - First observed
ciso_assistant_api_entities_cascade_info_retrieve - First observed
ciso_assistant_api_entities_country_retrieve - First observed
ciso_assistant_api_entities_create - First observed
ciso_assistant_api_entities_currency_retrieve - First observed
ciso_assistant_api_entities_destroy - First observed
ciso_assistant_api_entities_dora_entity_hierarchy_retrieve - First observed
ciso_assistant_api_entities_dora_entity_type_retrieve - First observed
ciso_assistant_api_entities_dora_provider_person_type_retrieve - First observed
ciso_assistant_api_entities_dora_roi_lint_retrieve - First observed
ciso_assistant_api_entities_export_csv_retrieve - First observed
ciso_assistant_api_entities_export_ecosystem_retrieve - First observed
ciso_assistant_api_entities_export_xlsx_retrieve - First observed
ciso_assistant_api_entities_generate_dora_roi_retrieve - First observed
ciso_assistant_api_entities_graph_retrieve - First observed
ciso_assistant_api_entities_list - First observed
ciso_assistant_api_entities_object_retrieve - First observed
ciso_assistant_api_entities_partial_update - First observed
ciso_assistant_api_entities_retrieve - First observed
ciso_assistant_api_entities_update - First observed
ciso_assistant_api_entity_assessments_batch_action_create - First observed
ciso_assistant_api_entity_assessments_cascade_info_retrieve - First observed
ciso_assistant_api_entity_assessments_conclusion_retrieve - First observed
ciso_assistant_api_entity_assessments_create - First observed
ciso_assistant_api_entity_assessments_destroy - First observed
ciso_assistant_api_entity_assessments_list - First observed
ciso_assistant_api_entity_assessments_metrics_retrieve - First observed
ciso_assistant_api_entity_assessments_object_retrieve - First observed
ciso_assistant_api_entity_assessments_partial_update - First observed
ciso_assistant_api_entity_assessments_retrieve - First observed
ciso_assistant_api_entity_assessments_status_retrieve - First observed
ciso_assistant_api_entity_assessments_update - First observed
ciso_assistant_api_evidence_revisions_attachment_retrieve - First observed
ciso_assistant_api_evidence_revisions_batch_action_create - First observed
ciso_assistant_api_evidence_revisions_cascade_info_retrieve - First observed
ciso_assistant_api_evidence_revisions_create - First observed
ciso_assistant_api_evidence_revisions_delete_attachment_create - First observed
ciso_assistant_api_evidence_revisions_destroy - First observed
ciso_assistant_api_evidence_revisions_list - First observed
ciso_assistant_api_evidence_revisions_object_retrieve - First observed
ciso_assistant_api_evidence_revisions_partial_update - First observed
ciso_assistant_api_evidence_revisions_retrieve - First observed
ciso_assistant_api_evidence_revisions_update - First observed
ciso_assistant_api_evidence_revisions_upload_create - First observed
ciso_assistant_api_evidences_attachment_retrieve - First observed
ciso_assistant_api_evidences_batch_action_create - First observed
ciso_assistant_api_evidences_batch_upload_create - First observed
ciso_assistant_api_evidences_cascade_info_retrieve - First observed
ciso_assistant_api_evidences_create - First observed
ciso_assistant_api_evidences_destroy - First observed
ciso_assistant_api_evidences_list - First observed
ciso_assistant_api_evidences_object_retrieve - First observed
ciso_assistant_api_evidences_owner_retrieve - First observed
ciso_assistant_api_evidences_partial_update - First observed
ciso_assistant_api_evidences_retrieve - First observed
ciso_assistant_api_evidences_status_retrieve - First observed
ciso_assistant_api_evidences_update - First observed
ciso_assistant_api_evidences_upload_create - First observed
ciso_assistant_api_filtering_labels_batch_action_create - First observed
ciso_assistant_api_filtering_labels_cascade_info_retrieve - First observed
ciso_assistant_api_filtering_labels_create - First observed
ciso_assistant_api_filtering_labels_destroy - First observed
ciso_assistant_api_filtering_labels_list - First observed
ciso_assistant_api_filtering_labels_object_retrieve - First observed
ciso_assistant_api_filtering_labels_partial_update - First observed
ciso_assistant_api_filtering_labels_retrieve - First observed
ciso_assistant_api_filtering_labels_update - First observed
ciso_assistant_api_findings_assessments_batch_action_create - First observed
ciso_assistant_api_findings_assessments_cascade_info_retrieve - First observed
ciso_assistant_api_findings_assessments_category_retrieve - First observed
ciso_assistant_api_findings_assessments_create - First observed
ciso_assistant_api_findings_assessments_destroy - First observed
ciso_assistant_api_findings_assessments_list - First observed
ciso_assistant_api_findings_assessments_md_retrieve - First observed
ciso_assistant_api_findings_assessments_metrics_retrieve - First observed
ciso_assistant_api_findings_assessments_object_retrieve - First observed
ciso_assistant_api_findings_assessments_partial_update - First observed
ciso_assistant_api_findings_assessments_pdf_retrieve - First observed
ciso_assistant_api_findings_assessments_retrieve - First observed
ciso_assistant_api_findings_assessments_status_retrieve - First observed
ciso_assistant_api_findings_assessments_sunburst_data_retrieve - First observed
ciso_assistant_api_findings_assessments_update - First observed
ciso_assistant_api_findings_assessments_xlsx_retrieve - First observed
ciso_assistant_api_findings_batch_action_create - First observed
ciso_assistant_api_findings_cascade_info_retrieve - First observed
ciso_assistant_api_findings_create - First observed
ciso_assistant_api_findings_destroy - First observed
ciso_assistant_api_findings_list - First observed
ciso_assistant_api_findings_object_retrieve - First observed
ciso_assistant_api_findings_owner_retrieve - First observed
ciso_assistant_api_findings_partial_update - First observed
ciso_assistant_api_findings_priority_retrieve - First observed
ciso_assistant_api_findings_retrieve - First observed
ciso_assistant_api_findings_sankey_data_retrieve - First observed
ciso_assistant_api_findings_severity_retrieve - First observed
ciso_assistant_api_findings_status_retrieve - First observed
ciso_assistant_api_findings_update - First observed
ciso_assistant_api_folders_batch_action_create - First observed
ciso_assistant_api_folders_cascade_info_retrieve - First observed
ciso_assistant_api_folders_create - First observed
ciso_assistant_api_folders_destroy - First observed
ciso_assistant_api_folders_export_retrieve - First observed
ciso_assistant_api_folders_get_accessible_objects_retrieve - First observed
ciso_assistant_api_folders_ids_retrieve - First observed
ciso_assistant_api_folders_import_create - First observed
ciso_assistant_api_folders_import_dummy_create - First observed
ciso_assistant_api_folders_list - First observed
ciso_assistant_api_folders_my_assignments_retrieve - First observed
ciso_assistant_api_folders_object_retrieve - First observed
ciso_assistant_api_folders_org_tree_retrieve - First observed
ciso_assistant_api_folders_partial_update - First observed
ciso_assistant_api_folders_quality_check_retrieve - First observed
ciso_assistant_api_folders_quality_check_retrieve_2 - First observed
ciso_assistant_api_folders_retrieve - First observed
ciso_assistant_api_folders_update - First observed
ciso_assistant_api_folders_users_list - First observed
ciso_assistant_api_frameworks_batch_action_create - First observed
ciso_assistant_api_frameworks_cascade_info_retrieve - First observed
ciso_assistant_api_frameworks_create - First observed
ciso_assistant_api_frameworks_destroy - First observed
ciso_assistant_api_frameworks_discard_draft_create - First observed
ciso_assistant_api_frameworks_duplicate_create - First observed
ciso_assistant_api_frameworks_excel_template_retrieve - First observed
ciso_assistant_api_frameworks_export_yaml_retrieve - First observed
ciso_assistant_api_frameworks_list - First observed
ciso_assistant_api_frameworks_mapping_stats_retrieve - First observed
ciso_assistant_api_frameworks_mappings_retrieve - First observed
ciso_assistant_api_frameworks_names_retrieve - First observed
ciso_assistant_api_frameworks_object_retrieve - First observed
ciso_assistant_api_frameworks_partial_update - First observed
ciso_assistant_api_frameworks_provider_retrieve - First observed
ciso_assistant_api_frameworks_publish_draft_create - First observed
ciso_assistant_api_frameworks_publish_draft_preview_create - First observed
ciso_assistant_api_frameworks_report_retrieve - First observed
ciso_assistant_api_frameworks_retrieve - First observed
ciso_assistant_api_frameworks_save_draft_partial_update - First observed
ciso_assistant_api_frameworks_serve_image_retrieve - First observed
ciso_assistant_api_frameworks_start_editing_create - First observed
ciso_assistant_api_frameworks_tree_retrieve - First observed
ciso_assistant_api_frameworks_update - First observed
ciso_assistant_api_frameworks_upload_image_create - First observed
ciso_assistant_api_frameworks_used_retrieve - First observed
ciso_assistant_api_get_audits_metrics_retrieve - First observed
ciso_assistant_api_get_combined_assessments_status_retrieve - First observed
ciso_assistant_api_get_counters_retrieve - First observed
ciso_assistant_api_get_governance_calendar_data_retrieve - First observed
ciso_assistant_api_get_metrics_retrieve - First observed
ciso_assistant_api_health_retrieve - First observed
ciso_assistant_api_iam_auth_tokens_create - First observed
ciso_assistant_api_iam_auth_tokens_destroy - First observed
ciso_assistant_api_iam_auth_tokens_retrieve - First observed
ciso_assistant_api_iam_change_password_create - First observed
ciso_assistant_api_iam_current_user_retrieve - First observed
ciso_assistant_api_iam_login_create - First observed
ciso_assistant_api_iam_logout_create - First observed
ciso_assistant_api_iam_logoutall_create - First observed
ciso_assistant_api_iam_password_reset_confirm_create - First observed
ciso_assistant_api_iam_password_reset_create - First observed
ciso_assistant_api_iam_revoke_sessions_create - First observed
ciso_assistant_api_iam_session_token_create - First observed
ciso_assistant_api_iam_set_password_create - First observed
ciso_assistant_api_incidents_batch_action_create - First observed
ciso_assistant_api_incidents_cascade_info_retrieve - First observed
ciso_assistant_api_incidents_create - First observed
ciso_assistant_api_incidents_destroy - First observed
ciso_assistant_api_incidents_detection_breakdown_retrieve - First observed
ciso_assistant_api_incidents_detection_retrieve - First observed
ciso_assistant_api_incidents_export_csv_retrieve - First observed
ciso_assistant_api_incidents_export_xlsx_retrieve - First observed
ciso_assistant_api_incidents_list - First observed
ciso_assistant_api_incidents_md_retrieve - First observed
ciso_assistant_api_incidents_monthly_metrics_retrieve - First observed
ciso_assistant_api_incidents_object_retrieve - First observed
ciso_assistant_api_incidents_partial_update - First observed
ciso_assistant_api_incidents_pdf_retrieve - First observed
ciso_assistant_api_incidents_qualifications_breakdown_retrieve - First observed
ciso_assistant_api_incidents_retrieve - First observed
ciso_assistant_api_incidents_severity_breakdown_retrieve - First observed
ciso_assistant_api_incidents_severity_retrieve - First observed
ciso_assistant_api_incidents_status_retrieve - First observed
ciso_assistant_api_incidents_summary_stats_retrieve - First observed
ciso_assistant_api_incidents_update - First observed
ciso_assistant_api_integrations_configs_batch_action_create - First observed
ciso_assistant_api_integrations_configs_cascade_info_retrieve - First observed
ciso_assistant_api_integrations_configs_create - First observed
ciso_assistant_api_integrations_configs_destroy - First observed
ciso_assistant_api_integrations_configs_list - First observed
ciso_assistant_api_integrations_configs_object_retrieve - First observed
ciso_assistant_api_integrations_configs_partial_update - First observed
ciso_assistant_api_integrations_configs_remote_objects_retrieve - First observed
ciso_assistant_api_integrations_configs_retrieve - First observed
ciso_assistant_api_integrations_configs_rpc_create - First observed
ciso_assistant_api_integrations_configs_test_connection_create - First observed
ciso_assistant_api_integrations_configs_update - First observed
ciso_assistant_api_integrations_providers_list - First observed
ciso_assistant_api_integrations_sync_mappings_destroy - First observed
ciso_assistant_api_integrations_test_connection_create - First observed
ciso_assistant_api_journey_steps_batch_action_create - First observed
ciso_assistant_api_journey_steps_cascade_info_retrieve - First observed
ciso_assistant_api_journey_steps_create - First observed
ciso_assistant_api_journey_steps_destroy - First observed
ciso_assistant_api_journey_steps_list - First observed
ciso_assistant_api_journey_steps_object_retrieve - First observed
ciso_assistant_api_journey_steps_partial_update - First observed
ciso_assistant_api_journey_steps_retrieve - First observed
ciso_assistant_api_journey_steps_update - First observed
ciso_assistant_api_journeys_batch_action_create - First observed
ciso_assistant_api_journeys_cascade_info_retrieve - First observed
ciso_assistant_api_journeys_create - First observed
ciso_assistant_api_journeys_dashboard_retrieve - First observed
ciso_assistant_api_journeys_destroy - First observed
ciso_assistant_api_journeys_list - First observed
ciso_assistant_api_journeys_object_retrieve - First observed
ciso_assistant_api_journeys_partial_update - First observed
ciso_assistant_api_journeys_rename_create - First observed
ciso_assistant_api_journeys_retrieve - First observed
ciso_assistant_api_journeys_update - First observed
ciso_assistant_api_journeys_upgrade_create - First observed
ciso_assistant_api_library_filtering_labels_batch_action_create - First observed
ciso_assistant_api_library_filtering_labels_cascade_info_retrieve - First observed
ciso_assistant_api_library_filtering_labels_create - First observed
ciso_assistant_api_library_filtering_labels_destroy - First observed
ciso_assistant_api_library_filtering_labels_list - First observed
ciso_assistant_api_library_filtering_labels_object_retrieve - First observed
ciso_assistant_api_library_filtering_labels_partial_update - First observed
ciso_assistant_api_library_filtering_labels_retrieve - First observed
ciso_assistant_api_library_filtering_labels_update - First observed
ciso_assistant_api_loaded_libraries_available_updates_retrieve - First observed
ciso_assistant_api_loaded_libraries_batch_action_create - First observed
ciso_assistant_api_loaded_libraries_cascade_info_retrieve - First observed
ciso_assistant_api_loaded_libraries_content_retrieve - First observed
ciso_assistant_api_loaded_libraries_create - First observed
ciso_assistant_api_loaded_libraries_destroy - First observed
ciso_assistant_api_loaded_libraries_list - First observed
ciso_assistant_api_loaded_libraries_object_retrieve - First observed
ciso_assistant_api_loaded_libraries_partial_update - First observed
ciso_assistant_api_loaded_libraries_retrieve - First observed
ciso_assistant_api_loaded_libraries_tree_retrieve - First observed
ciso_assistant_api_loaded_libraries_update - First observed
ciso_assistant_api_loaded_libraries_update_retrieve - First observed
ciso_assistant_api_managed_documents_batch_action_create - First observed
ciso_assistant_api_managed_documents_cascade_info_retrieve - First observed
ciso_assistant_api_managed_documents_create - First observed
ciso_assistant_api_managed_documents_create_new_draft_create - First observed
ciso_assistant_api_managed_documents_destroy - First observed
ciso_assistant_api_managed_documents_list - First observed
ciso_assistant_api_managed_documents_object_retrieve - First observed
ciso_assistant_api_managed_documents_partial_update - First observed
ciso_assistant_api_managed_documents_retrieve - First observed
ciso_assistant_api_managed_documents_templates_retrieve - First observed
ciso_assistant_api_managed_documents_update - First observed
ciso_assistant_api_managed_documents_upload_image_create - First observed
ciso_assistant_api_mapping_libraries_list - First observed
ciso_assistant_api_metrology_builtin_metric_samples_batch_action_create - First observed
ciso_assistant_api_metrology_builtin_metric_samples_cascade_info_retrieve - First observed
ciso_assistant_api_metrology_builtin_metric_samples_create - First observed
ciso_assistant_api_metrology_builtin_metric_samples_destroy - First observed
ciso_assistant_api_metrology_builtin_metric_samples_for_object_retrieve - First observed
ciso_assistant_api_metrology_builtin_metric_samples_list - First observed
ciso_assistant_api_metrology_builtin_metric_samples_object_retrieve - First observed
ciso_assistant_api_metrology_builtin_metric_samples_partial_update - First observed
ciso_assistant_api_metrology_builtin_metric_samples_refresh_create - First observed
ciso_assistant_api_metrology_builtin_metric_samples_retrieve - First observed
ciso_assistant_api_metrology_builtin_metric_samples_supported_models_retrieve - First observed
ciso_assistant_api_metrology_builtin_metric_samples_update - First observed
ciso_assistant_api_metrology_custom_metric_samples_batch_action_create - First observed
ciso_assistant_api_metrology_custom_metric_samples_cascade_info_retrieve - First observed
ciso_assistant_api_metrology_custom_metric_samples_create - First observed
ciso_assistant_api_metrology_custom_metric_samples_destroy - First observed
ciso_assistant_api_metrology_custom_metric_samples_list - First observed
ciso_assistant_api_metrology_custom_metric_samples_object_retrieve - First observed
ciso_assistant_api_metrology_custom_metric_samples_partial_update - First observed
ciso_assistant_api_metrology_custom_metric_samples_retrieve - First observed
ciso_assistant_api_metrology_custom_metric_samples_update - First observed
ciso_assistant_api_metrology_dashboard_widgets_aggregation_retrieve - First observed
ciso_assistant_api_metrology_dashboard_widgets_batch_action_create - First observed
ciso_assistant_api_metrology_dashboard_widgets_cascade_info_retrieve - First observed
ciso_assistant_api_metrology_dashboard_widgets_chart_type_retrieve - First observed
ciso_assistant_api_metrology_dashboard_widgets_create - First observed
ciso_assistant_api_metrology_dashboard_widgets_destroy - First observed
ciso_assistant_api_metrology_dashboard_widgets_list - First observed
ciso_assistant_api_metrology_dashboard_widgets_object_retrieve - First observed
ciso_assistant_api_metrology_dashboard_widgets_partial_update - First observed
ciso_assistant_api_metrology_dashboard_widgets_retrieve - First observed
ciso_assistant_api_metrology_dashboard_widgets_time_range_retrieve - First observed
ciso_assistant_api_metrology_dashboard_widgets_update - First observed
ciso_assistant_api_metrology_dashboards_batch_action_create - First observed
ciso_assistant_api_metrology_dashboards_cascade_info_retrieve - First observed
ciso_assistant_api_metrology_dashboards_create - First observed
ciso_assistant_api_metrology_dashboards_destroy - First observed
ciso_assistant_api_metrology_dashboards_list - First observed
ciso_assistant_api_metrology_dashboards_object_retrieve - First observed
ciso_assistant_api_metrology_dashboards_partial_update - First observed
ciso_assistant_api_metrology_dashboards_retrieve - First observed
ciso_assistant_api_metrology_dashboards_update - First observed
ciso_assistant_api_metrology_metric_definitions_batch_action_create - First observed
ciso_assistant_api_metrology_metric_definitions_cascade_info_retrieve - First observed
ciso_assistant_api_metrology_metric_definitions_category_retrieve - First observed
ciso_assistant_api_metrology_metric_definitions_create - First observed
ciso_assistant_api_metrology_metric_definitions_destroy - First observed
ciso_assistant_api_metrology_metric_definitions_list - First observed
ciso_assistant_api_metrology_metric_definitions_object_retrieve - First observed
ciso_assistant_api_metrology_metric_definitions_partial_update - First observed
ciso_assistant_api_metrology_metric_definitions_provider_retrieve - First observed
ciso_assistant_api_metrology_metric_definitions_retrieve - First observed
ciso_assistant_api_metrology_metric_definitions_update - First observed
ciso_assistant_api_metrology_metric_instances_batch_action_create - First observed
ciso_assistant_api_metrology_metric_instances_cascade_info_retrieve - First observed
ciso_assistant_api_metrology_metric_instances_collection_frequency_retrieve - First observed
ciso_assistant_api_metrology_metric_instances_create - First observed
ciso_assistant_api_metrology_metric_instances_destroy - First observed
ciso_assistant_api_metrology_metric_instances_list - First observed
ciso_assistant_api_metrology_metric_instances_object_retrieve - First observed
ciso_assistant_api_metrology_metric_instances_partial_update - First observed
ciso_assistant_api_metrology_metric_instances_retrieve - First observed
ciso_assistant_api_metrology_metric_instances_status_retrieve - First observed
ciso_assistant_api_metrology_metric_instances_update - First observed
ciso_assistant_api_organisation_issues_batch_action_create - First observed
ciso_assistant_api_organisation_issues_cascade_info_retrieve - First observed
ciso_assistant_api_organisation_issues_category_retrieve - First observed
ciso_assistant_api_organisation_issues_create - First observed
ciso_assistant_api_organisation_issues_destroy - First observed
ciso_assistant_api_organisation_issues_list - First observed
ciso_assistant_api_organisation_issues_object_retrieve - First observed
ciso_assistant_api_organisation_issues_origin_retrieve - First observed
ciso_assistant_api_organisation_issues_partial_update - First observed
ciso_assistant_api_organisation_issues_retrieve - First observed
ciso_assistant_api_organisation_issues_status_retrieve - First observed
ciso_assistant_api_organisation_issues_update - First observed
ciso_assistant_api_organisation_objectives_batch_action_create - First observed
ciso_assistant_api_organisation_objectives_cascade_info_retrieve - First observed
ciso_assistant_api_organisation_objectives_create - First observed
ciso_assistant_api_organisation_objectives_destroy - First observed
ciso_assistant_api_organisation_objectives_duplicate_create - First observed
ciso_assistant_api_organisation_objectives_health_retrieve - First observed
ciso_assistant_api_organisation_objectives_is_active_retrieve - First observed
ciso_assistant_api_organisation_objectives_list - First observed
ciso_assistant_api_organisation_objectives_object_retrieve - First observed
ciso_assistant_api_organisation_objectives_partial_update - First observed
ciso_assistant_api_organisation_objectives_retrieve - First observed
ciso_assistant_api_organisation_objectives_status_retrieve - First observed
ciso_assistant_api_organisation_objectives_update - First observed
ciso_assistant_api_perimeters_batch_action_create - First observed
ciso_assistant_api_perimeters_cascade_info_retrieve - First observed
ciso_assistant_api_perimeters_create - First observed
ciso_assistant_api_perimeters_destroy - First observed
ciso_assistant_api_perimeters_ids_retrieve - First observed
ciso_assistant_api_perimeters_lc_status_retrieve - First observed
ciso_assistant_api_perimeters_list - First observed
ciso_assistant_api_perimeters_names_retrieve - First observed
ciso_assistant_api_perimeters_object_retrieve - First observed
ciso_assistant_api_perimeters_partial_update - First observed
ciso_assistant_api_perimeters_quality_check_retrieve - First observed
ciso_assistant_api_perimeters_quality_check_retrieve_2 - First observed
ciso_assistant_api_perimeters_retrieve - First observed
ciso_assistant_api_perimeters_update - First observed
ciso_assistant_api_pmbok_accreditations_batch_action_create - First observed
ciso_assistant_api_pmbok_accreditations_cascade_info_retrieve - First observed
ciso_assistant_api_pmbok_accreditations_category_retrieve - First observed
ciso_assistant_api_pmbok_accreditations_create - First observed
ciso_assistant_api_pmbok_accreditations_destroy - First observed
ciso_assistant_api_pmbok_accreditations_list - First observed
ciso_assistant_api_pmbok_accreditations_object_retrieve - First observed
ciso_assistant_api_pmbok_accreditations_partial_update - First observed
ciso_assistant_api_pmbok_accreditations_retrieve - First observed
ciso_assistant_api_pmbok_accreditations_status_retrieve - First observed
ciso_assistant_api_pmbok_accreditations_update - First observed
ciso_assistant_api_pmbok_generic_collections_batch_action_create - First observed
ciso_assistant_api_pmbok_generic_collections_cascade_info_retrieve - First observed
ciso_assistant_api_pmbok_generic_collections_create - First observed
ciso_assistant_api_pmbok_generic_collections_destroy - First observed
ciso_assistant_api_pmbok_generic_collections_list - First observed
ciso_assistant_api_pmbok_generic_collections_object_retrieve - First observed
ciso_assistant_api_pmbok_generic_collections_partial_update - First observed
ciso_assistant_api_pmbok_generic_collections_retrieve - First observed
ciso_assistant_api_pmbok_generic_collections_status_retrieve - First observed
ciso_assistant_api_pmbok_generic_collections_update - First observed
ciso_assistant_api_pmbok_projects_batch_action_create - First observed
ciso_assistant_api_pmbok_projects_cascade_info_retrieve - First observed
ciso_assistant_api_pmbok_projects_create - First observed
ciso_assistant_api_pmbok_projects_currencies_retrieve - First observed
ciso_assistant_api_pmbok_projects_destroy - First observed
ciso_assistant_api_pmbok_projects_kind_retrieve - First observed
ciso_assistant_api_pmbok_projects_list - First observed
ciso_assistant_api_pmbok_projects_object_retrieve - First observed
ciso_assistant_api_pmbok_projects_partial_update - First observed
ciso_assistant_api_pmbok_projects_priority_retrieve - First observed
ciso_assistant_api_pmbok_projects_retrieve - First observed
ciso_assistant_api_pmbok_projects_update - First observed
ciso_assistant_api_pmbok_responsibility_assignments_cascade_info_retrieve - First observed
ciso_assistant_api_pmbok_responsibility_assignments_list - First observed
ciso_assistant_api_pmbok_responsibility_assignments_object_retrieve - First observed
ciso_assistant_api_pmbok_responsibility_assignments_retrieve - First observed
ciso_assistant_api_pmbok_responsibility_matrices_batch_action_create - First observed
ciso_assistant_api_pmbok_responsibility_matrices_cascade_info_retrieve - First observed
ciso_assistant_api_pmbok_responsibility_matrices_create - First observed
ciso_assistant_api_pmbok_responsibility_matrices_cycle_cell_create - First observed
ciso_assistant_api_pmbok_responsibility_matrices_destroy - First observed
ciso_assistant_api_pmbok_responsibility_matrices_list - First observed
ciso_assistant_api_pmbok_responsibility_matrices_object_retrieve - First observed
ciso_assistant_api_pmbok_responsibility_matrices_partial_update - First observed
ciso_assistant_api_pmbok_responsibility_matrices_preset_retrieve - First observed
ciso_assistant_api_pmbok_responsibility_matrices_reorder_activities_create - First observed
ciso_assistant_api_pmbok_responsibility_matrices_reorder_actors_create - First observed
ciso_assistant_api_pmbok_responsibility_matrices_retrieve - First observed
ciso_assistant_api_pmbok_responsibility_matrices_update - First observed
ciso_assistant_api_pmbok_responsibility_matrix_activities_batch_action_create - First observed
ciso_assistant_api_pmbok_responsibility_matrix_activities_cascade_info_retrieve - First observed
ciso_assistant_api_pmbok_responsibility_matrix_activities_create - First observed
ciso_assistant_api_pmbok_responsibility_matrix_activities_destroy - First observed
ciso_assistant_api_pmbok_responsibility_matrix_activities_list - First observed
ciso_assistant_api_pmbok_responsibility_matrix_activities_object_retrieve - First observed
ciso_assistant_api_pmbok_responsibility_matrix_activities_partial_update - First observed
ciso_assistant_api_pmbok_responsibility_matrix_activities_retrieve - First observed
ciso_assistant_api_pmbok_responsibility_matrix_activities_update - First observed
ciso_assistant_api_pmbok_responsibility_matrix_actors_batch_action_create - First observed
ciso_assistant_api_pmbok_responsibility_matrix_actors_cascade_info_retrieve - First observed
ciso_assistant_api_pmbok_responsibility_matrix_actors_create - First observed
ciso_assistant_api_pmbok_responsibility_matrix_actors_destroy - First observed
ciso_assistant_api_pmbok_responsibility_matrix_actors_list - First observed
ciso_assistant_api_pmbok_responsibility_matrix_actors_object_retrieve - First observed
ciso_assistant_api_pmbok_responsibility_matrix_actors_partial_update - First observed
ciso_assistant_api_pmbok_responsibility_matrix_actors_retrieve - First observed
ciso_assistant_api_pmbok_responsibility_matrix_actors_update - First observed
ciso_assistant_api_pmbok_responsibility_roles_cascade_info_retrieve - First observed
ciso_assistant_api_pmbok_responsibility_roles_list - First observed
ciso_assistant_api_pmbok_responsibility_roles_object_retrieve - First observed
ciso_assistant_api_pmbok_responsibility_roles_retrieve - First observed
ciso_assistant_api_pmbok_responsibility_roles_taxonomy_retrieve - First observed
ciso_assistant_api_policies_analytics_retrieve - First observed
ciso_assistant_api_policies_autocomplete_retrieve - First observed
ciso_assistant_api_policies_batch_action_create - First observed
ciso_assistant_api_policies_cascade_info_retrieve - First observed
ciso_assistant_api_policies_category_retrieve - First observed
ciso_assistant_api_policies_control_impact_retrieve - First observed
ciso_assistant_api_policies_create - First observed
ciso_assistant_api_policies_csf_function_retrieve - First observed
ciso_assistant_api_policies_destroy - First observed
ciso_assistant_api_policies_duplicate_create - First observed
ciso_assistant_api_policies_effort_retrieve - First observed
ciso_assistant_api_policies_export_csv_retrieve - First observed
ciso_assistant_api_policies_export_xlsx_retrieve - First observed
ciso_assistant_api_policies_get_controls_info_retrieve - First observed
ciso_assistant_api_policies_get_gantt_data_retrieve - First observed
ciso_assistant_api_policies_get_timeline_info_retrieve - First observed
ciso_assistant_api_policies_ids_retrieve - First observed
ciso_assistant_api_policies_impact_effort_retrieve - First observed
ciso_assistant_api_policies_impact_graph_retrieve - First observed
ciso_assistant_api_policies_linked_models_retrieve - First observed
ciso_assistant_api_policies_list - First observed
ciso_assistant_api_policies_merge_create - First observed
ciso_assistant_api_policies_mss_xlsx_retrieve - First observed
ciso_assistant_api_policies_object_retrieve - First observed
ciso_assistant_api_policies_owner_retrieve - First observed
ciso_assistant_api_policies_partial_update - First observed
ciso_assistant_api_policies_per_status_retrieve - First observed
ciso_assistant_api_policies_priority_chart_data_retrieve - First observed
ciso_assistant_api_policies_priority_retrieve - First observed
ciso_assistant_api_policies_retrieve - First observed
ciso_assistant_api_policies_status_retrieve - First observed
ciso_assistant_api_policies_sunburst_data_retrieve - First observed
ciso_assistant_api_policies_sync_to_reference_control_create - First observed
ciso_assistant_api_policies_to_review_retrieve - First observed
ciso_assistant_api_policies_todo_retrieve - First observed
ciso_assistant_api_policies_updatables_retrieve - First observed
ciso_assistant_api_policies_update - First observed
ciso_assistant_api_presets_apply_create - First observed
ciso_assistant_api_presets_batch_action_create - First observed
ciso_assistant_api_presets_cascade_info_retrieve - First observed
ciso_assistant_api_presets_create - First observed
ciso_assistant_api_presets_create_blank_create - First observed
ciso_assistant_api_presets_destroy - First observed
ciso_assistant_api_presets_discard_draft_create - First observed
ciso_assistant_api_presets_duplicate_create - First observed
ciso_assistant_api_presets_list - First observed
ciso_assistant_api_presets_object_retrieve - First observed
ciso_assistant_api_presets_partial_update - First observed
ciso_assistant_api_presets_publish_draft_create - First observed
ciso_assistant_api_presets_publish_draft_preview_create - First observed
ciso_assistant_api_presets_retrieve - First observed
ciso_assistant_api_presets_save_draft_partial_update - First observed
ciso_assistant_api_presets_start_editing_create - First observed
ciso_assistant_api_presets_update - First observed
ciso_assistant_api_privacy_data_breaches_batch_action_create - First observed
ciso_assistant_api_privacy_data_breaches_breach_type_retrieve - First observed
ciso_assistant_api_privacy_data_breaches_cascade_info_retrieve - First observed
ciso_assistant_api_privacy_data_breaches_create - First observed
ciso_assistant_api_privacy_data_breaches_destroy - First observed
ciso_assistant_api_privacy_data_breaches_list - First observed
ciso_assistant_api_privacy_data_breaches_object_retrieve - First observed
ciso_assistant_api_privacy_data_breaches_partial_update - First observed
ciso_assistant_api_privacy_data_breaches_retrieve - First observed
ciso_assistant_api_privacy_data_breaches_risk_level_retrieve - First observed
ciso_assistant_api_privacy_data_breaches_status_retrieve - First observed
ciso_assistant_api_privacy_data_breaches_update - First observed
ciso_assistant_api_privacy_data_contractors_batch_action_create - First observed
ciso_assistant_api_privacy_data_contractors_cascade_info_retrieve - First observed
ciso_assistant_api_privacy_data_contractors_country_retrieve - First observed
ciso_assistant_api_privacy_data_contractors_create - First observed
ciso_assistant_api_privacy_data_contractors_destroy - First observed
ciso_assistant_api_privacy_data_contractors_list - First observed
ciso_assistant_api_privacy_data_contractors_object_retrieve - First observed
ciso_assistant_api_privacy_data_contractors_partial_update - First observed
ciso_assistant_api_privacy_data_contractors_relationship_type_retrieve - First observed
ciso_assistant_api_privacy_data_contractors_retrieve - First observed
ciso_assistant_api_privacy_data_contractors_update - First observed
ciso_assistant_api_privacy_data_recipients_batch_action_create - First observed
ciso_assistant_api_privacy_data_recipients_cascade_info_retrieve - First observed
ciso_assistant_api_privacy_data_recipients_category_retrieve - First observed
ciso_assistant_api_privacy_data_recipients_create - First observed
ciso_assistant_api_privacy_data_recipients_destroy - First observed
ciso_assistant_api_privacy_data_recipients_list - First observed
ciso_assistant_api_privacy_data_recipients_object_retrieve - First observed
ciso_assistant_api_privacy_data_recipients_partial_update - First observed
ciso_assistant_api_privacy_data_recipients_retrieve - First observed
ciso_assistant_api_privacy_data_recipients_update - First observed
ciso_assistant_api_privacy_data_subjects_batch_action_create - First observed
ciso_assistant_api_privacy_data_subjects_cascade_info_retrieve - First observed
ciso_assistant_api_privacy_data_subjects_category_retrieve - First observed
ciso_assistant_api_privacy_data_subjects_create - First observed
ciso_assistant_api_privacy_data_subjects_destroy - First observed
ciso_assistant_api_privacy_data_subjects_list - First observed
ciso_assistant_api_privacy_data_subjects_object_retrieve - First observed
ciso_assistant_api_privacy_data_subjects_partial_update - First observed
ciso_assistant_api_privacy_data_subjects_retrieve - First observed
ciso_assistant_api_privacy_data_subjects_update - First observed
ciso_assistant_api_privacy_data_transfers_batch_action_create - First observed
ciso_assistant_api_privacy_data_transfers_cascade_info_retrieve - First observed
ciso_assistant_api_privacy_data_transfers_country_retrieve - First observed
ciso_assistant_api_privacy_data_transfers_create - First observed
ciso_assistant_api_privacy_data_transfers_destroy - First observed
ciso_assistant_api_privacy_data_transfers_list - First observed
ciso_assistant_api_privacy_data_transfers_object_retrieve - First observed
ciso_assistant_api_privacy_data_transfers_partial_update - First observed
ciso_assistant_api_privacy_data_transfers_retrieve - First observed
ciso_assistant_api_privacy_data_transfers_transfer_mechanism_retrieve - First observed
ciso_assistant_api_privacy_data_transfers_update - First observed
ciso_assistant_api_privacy_personal_data_batch_action_create - First observed
ciso_assistant_api_privacy_personal_data_batch_create_create - First observed
ciso_assistant_api_privacy_personal_data_cascade_info_retrieve - First observed
ciso_assistant_api_privacy_personal_data_category_retrieve - First observed
ciso_assistant_api_privacy_personal_data_create - First observed
ciso_assistant_api_privacy_personal_data_deletion_policy_retrieve - First observed
ciso_assistant_api_privacy_personal_data_destroy - First observed
ciso_assistant_api_privacy_personal_data_is_sensitive_retrieve - First observed
ciso_assistant_api_privacy_personal_data_list - First observed
ciso_assistant_api_privacy_personal_data_object_retrieve - First observed
ciso_assistant_api_privacy_personal_data_partial_update - First observed
ciso_assistant_api_privacy_personal_data_retrieve - First observed
ciso_assistant_api_privacy_personal_data_update - First observed
ciso_assistant_api_privacy_processing_natures_batch_action_create - First observed
ciso_assistant_api_privacy_processing_natures_cascade_info_retrieve - First observed
ciso_assistant_api_privacy_processing_natures_create - First observed
ciso_assistant_api_privacy_processing_natures_destroy - First observed
ciso_assistant_api_privacy_processing_natures_list - First observed
ciso_assistant_api_privacy_processing_natures_object_retrieve - First observed
ciso_assistant_api_privacy_processing_natures_partial_update - First observed
ciso_assistant_api_privacy_processing_natures_retrieve - First observed
ciso_assistant_api_privacy_processing_natures_update - First observed
ciso_assistant_api_privacy_processings_agg_metrics_retrieve - First observed
ciso_assistant_api_privacy_processings_assigned_to_retrieve - First observed
ciso_assistant_api_privacy_processings_batch_action_create - First observed
ciso_assistant_api_privacy_processings_cascade_info_retrieve - First observed
ciso_assistant_api_privacy_processings_create - First observed
ciso_assistant_api_privacy_processings_destroy - First observed
ciso_assistant_api_privacy_processings_export_csv_retrieve - First observed
ciso_assistant_api_privacy_processings_export_xlsx_retrieve - First observed
ciso_assistant_api_privacy_processings_list - First observed
ciso_assistant_api_privacy_processings_metrics_retrieve - First observed
ciso_assistant_api_privacy_processings_object_retrieve - First observed
ciso_assistant_api_privacy_processings_partial_update - First observed
ciso_assistant_api_privacy_processings_retrieve - First observed
ciso_assistant_api_privacy_processings_status_retrieve - First observed
ciso_assistant_api_privacy_processings_update - First observed
ciso_assistant_api_privacy_purposes_article_9_condition_retrieve - First observed
ciso_assistant_api_privacy_purposes_batch_action_create - First observed
ciso_assistant_api_privacy_purposes_cascade_info_retrieve - First observed
ciso_assistant_api_privacy_purposes_create - First observed
ciso_assistant_api_privacy_purposes_destroy - First observed
ciso_assistant_api_privacy_purposes_legal_basis_retrieve - First observed
ciso_assistant_api_privacy_purposes_list - First observed
ciso_assistant_api_privacy_purposes_object_retrieve - First observed
ciso_assistant_api_privacy_purposes_partial_update - First observed
ciso_assistant_api_privacy_purposes_retrieve - First observed
ciso_assistant_api_privacy_purposes_update - First observed
ciso_assistant_api_privacy_right_requests_batch_action_create - First observed
ciso_assistant_api_privacy_right_requests_cascade_info_retrieve - First observed
ciso_assistant_api_privacy_right_requests_create - First observed
ciso_assistant_api_privacy_right_requests_destroy - First observed
ciso_assistant_api_privacy_right_requests_list - First observed
ciso_assistant_api_privacy_right_requests_object_retrieve - First observed
ciso_assistant_api_privacy_right_requests_owner_retrieve - First observed
ciso_assistant_api_privacy_right_requests_partial_update - First observed
ciso_assistant_api_privacy_right_requests_request_type_retrieve - First observed
ciso_assistant_api_privacy_right_requests_retrieve - First observed
ciso_assistant_api_privacy_right_requests_status_retrieve - First observed
ciso_assistant_api_privacy_right_requests_update - First observed
ciso_assistant_api_question_choices_batch_action_create - First observed
ciso_assistant_api_question_choices_cascade_info_retrieve - First observed
ciso_assistant_api_question_choices_create - First observed
ciso_assistant_api_question_choices_destroy - First observed
ciso_assistant_api_question_choices_list - First observed
ciso_assistant_api_question_choices_object_retrieve - First observed
ciso_assistant_api_question_choices_partial_update - First observed
ciso_assistant_api_question_choices_retrieve - First observed
ciso_assistant_api_question_choices_update - First observed
ciso_assistant_api_questions_batch_action_create - First observed
ciso_assistant_api_questions_cascade_info_retrieve - First observed
ciso_assistant_api_questions_create - First observed
ciso_assistant_api_questions_destroy - First observed
ciso_assistant_api_questions_list - First observed
ciso_assistant_api_questions_object_retrieve - First observed
ciso_assistant_api_questions_partial_update - First observed
ciso_assistant_api_questions_retrieve - First observed
ciso_assistant_api_questions_update - First observed
ciso_assistant_api_quick_start_create - First observed
ciso_assistant_api_reference_controls_batch_action_create - First observed
ciso_assistant_api_reference_controls_cascade_info_retrieve - First observed
ciso_assistant_api_reference_controls_category_retrieve - First observed
ciso_assistant_api_reference_controls_create - First observed
ciso_assistant_api_reference_controls_csf_function_retrieve - First observed
ciso_assistant_api_reference_controls_destroy - First observed
ciso_assistant_api_reference_controls_list - First observed
ciso_assistant_api_reference_controls_object_retrieve - First observed
ciso_assistant_api_reference_controls_partial_update - First observed
ciso_assistant_api_reference_controls_provider_retrieve - First observed
ciso_assistant_api_reference_controls_retrieve - First observed
ciso_assistant_api_reference_controls_sync_applied_controls_create - First observed
ciso_assistant_api_reference_controls_syncable_applied_controls_retrieve - First observed
ciso_assistant_api_reference_controls_update - First observed
ciso_assistant_api_representatives_batch_action_create - First observed
ciso_assistant_api_representatives_cascade_info_retrieve - First observed
ciso_assistant_api_representatives_create - First observed
ciso_assistant_api_representatives_destroy - First observed
ciso_assistant_api_representatives_list - First observed
ciso_assistant_api_representatives_object_retrieve - First observed
ciso_assistant_api_representatives_partial_update - First observed
ciso_assistant_api_representatives_retrieve - First observed
ciso_assistant_api_representatives_update - First observed
ciso_assistant_api_request - First observed
ciso_assistant_api_requirement_assessments_batch_action_create - First observed
ciso_assistant_api_requirement_assessments_cascade_info_retrieve - First observed
ciso_assistant_api_requirement_assessments_create - First observed
ciso_assistant_api_requirement_assessments_destroy - First observed
ciso_assistant_api_requirement_assessments_extended_result_retrieve - First observed
ciso_assistant_api_requirement_assessments_list - First observed
ciso_assistant_api_requirement_assessments_object_retrieve - First observed
ciso_assistant_api_requirement_assessments_partial_update - First observed
ciso_assistant_api_requirement_assessments_per_status_retrieve - First observed
ciso_assistant_api_requirement_assessments_result_retrieve - First observed
ciso_assistant_api_requirement_assessments_retrieve - First observed
ciso_assistant_api_requirement_assessments_status_retrieve - First observed
ciso_assistant_api_requirement_assessments_suggestions_applied_controls_create - First observed
ciso_assistant_api_requirement_assessments_suggestions_applied_controls_retrieve - First observed
ciso_assistant_api_requirement_assessments_to_review_retrieve - First observed
ciso_assistant_api_requirement_assessments_todo_retrieve - First observed
ciso_assistant_api_requirement_assessments_updatables_retrieve - First observed
ciso_assistant_api_requirement_assessments_update - First observed
ciso_assistant_api_requirement_assignments_batch_action_create - First observed
ciso_assistant_api_requirement_assignments_cascade_info_retrieve - First observed
ciso_assistant_api_requirement_assignments_create - First observed
ciso_assistant_api_requirement_assignments_destroy - First observed
ciso_assistant_api_requirement_assignments_list - First observed
ciso_assistant_api_requirement_assignments_object_retrieve - First observed
ciso_assistant_api_requirement_assignments_partial_update - First observed
ciso_assistant_api_requirement_assignments_requirements_list_retrieve - First observed
ciso_assistant_api_requirement_assignments_retrieve - First observed
ciso_assistant_api_requirement_assignments_set_status_create - First observed
ciso_assistant_api_requirement_assignments_update - First observed
ciso_assistant_api_requirement_mapping_sets_batch_action_create - First observed
ciso_assistant_api_requirement_mapping_sets_cascade_info_retrieve - First observed
ciso_assistant_api_requirement_mapping_sets_create - First observed
ciso_assistant_api_requirement_mapping_sets_destroy - First observed
ciso_assistant_api_requirement_mapping_sets_graph_data_retrieve - First observed
ciso_assistant_api_requirement_mapping_sets_graph_data_retrieve_2 - First observed
ciso_assistant_api_requirement_mapping_sets_list - First observed
ciso_assistant_api_requirement_mapping_sets_object_retrieve - First observed
ciso_assistant_api_requirement_mapping_sets_partial_update - First observed
ciso_assistant_api_requirement_mapping_sets_provider_retrieve - First observed
ciso_assistant_api_requirement_mapping_sets_retrieve - First observed
ciso_assistant_api_requirement_mapping_sets_update - First observed
ciso_assistant_api_requirement_nodes_batch_action_create - First observed
ciso_assistant_api_requirement_nodes_cascade_info_retrieve - First observed
ciso_assistant_api_requirement_nodes_create - First observed
ciso_assistant_api_requirement_nodes_destroy - First observed
ciso_assistant_api_requirement_nodes_inspect_requirement_retrieve - First observed
ciso_assistant_api_requirement_nodes_list - First observed
ciso_assistant_api_requirement_nodes_object_retrieve - First observed
ciso_assistant_api_requirement_nodes_partial_update - First observed
ciso_assistant_api_requirement_nodes_retrieve - First observed
ciso_assistant_api_requirement_nodes_serve_image_retrieve - First observed
ciso_assistant_api_requirement_nodes_update - First observed
ciso_assistant_api_requirement_nodes_upload_image_create - First observed
ciso_assistant_api_resilience_asset_assessments_batch_action_create - First observed
ciso_assistant_api_resilience_asset_assessments_cascade_info_retrieve - First observed
ciso_assistant_api_resilience_asset_assessments_create - First observed
ciso_assistant_api_resilience_asset_assessments_dependency_graph_retrieve - First observed
ciso_assistant_api_resilience_asset_assessments_destroy - First observed
ciso_assistant_api_resilience_asset_assessments_list - First observed
ciso_assistant_api_resilience_asset_assessments_metrics_retrieve - First observed
ciso_assistant_api_resilience_asset_assessments_object_retrieve - First observed
ciso_assistant_api_resilience_asset_assessments_partial_update - First observed
ciso_assistant_api_resilience_asset_assessments_quali_impact_retrieve - First observed
ciso_assistant_api_resilience_asset_assessments_retrieve - First observed
ciso_assistant_api_resilience_asset_assessments_risk_matrix_retrieve - First observed
ciso_assistant_api_resilience_asset_assessments_update - First observed
ciso_assistant_api_resilience_business_impact_analysis_batch_action_create - First observed
ciso_assistant_api_resilience_business_impact_analysis_build_table_retrieve - First observed
ciso_assistant_api_resilience_business_impact_analysis_cascade_info_retrieve - First observed
ciso_assistant_api_resilience_business_impact_analysis_create - First observed
ciso_assistant_api_resilience_business_impact_analysis_destroy - First observed
ciso_assistant_api_resilience_business_impact_analysis_export_csv_retrieve - First observed
ciso_assistant_api_resilience_business_impact_analysis_export_xlsx_retrieve - First observed
ciso_assistant_api_resilience_business_impact_analysis_list - First observed
ciso_assistant_api_resilience_business_impact_analysis_metrics_retrieve - First observed
ciso_assistant_api_resilience_business_impact_analysis_object_retrieve - First observed
ciso_assistant_api_resilience_business_impact_analysis_partial_update - First observed
ciso_assistant_api_resilience_business_impact_analysis_retrieve - First observed
ciso_assistant_api_resilience_business_impact_analysis_status_retrieve - First observed
ciso_assistant_api_resilience_business_impact_analysis_update - First observed
ciso_assistant_api_resilience_business_impact_analysis_xlsx_retrieve - First observed
ciso_assistant_api_resilience_dora_incident_reports_batch_action_create - First observed
ciso_assistant_api_resilience_dora_incident_reports_cascade_info_retrieve - First observed
ciso_assistant_api_resilience_dora_incident_reports_classification_criterion_retrieve - First observed
ciso_assistant_api_resilience_dora_incident_reports_create - First observed
ciso_assistant_api_resilience_dora_incident_reports_destroy - First observed
ciso_assistant_api_resilience_dora_incident_reports_export_json_retrieve - First observed
ciso_assistant_api_resilience_dora_incident_reports_incident_classification_retrieve - First observed
ciso_assistant_api_resilience_dora_incident_reports_incident_discovery_retrieve - First observed
ciso_assistant_api_resilience_dora_incident_reports_incident_submission_retrieve - First observed
ciso_assistant_api_resilience_dora_incident_reports_info_duration_service_downtime_actual_or_estimate_retrieve - First observed
ciso_assistant_api_resilience_dora_incident_reports_list - First observed
ciso_assistant_api_resilience_dora_incident_reports_main_entity_retrieve - First observed
ciso_assistant_api_resilience_dora_incident_reports_object_retrieve - First observed
ciso_assistant_api_resilience_dora_incident_reports_partial_update - First observed
ciso_assistant_api_resilience_dora_incident_reports_report_currency_retrieve - First observed
ciso_assistant_api_resilience_dora_incident_reports_reporting_authority_retrieve - First observed
ciso_assistant_api_resilience_dora_incident_reports_retrieve - First observed
ciso_assistant_api_resilience_dora_incident_reports_root_cause_additional_retrieve - First observed
ciso_assistant_api_resilience_dora_incident_reports_root_cause_detailed_retrieve - First observed
ciso_assistant_api_resilience_dora_incident_reports_root_cause_hl_retrieve - First observed
ciso_assistant_api_resilience_dora_incident_reports_threat_techniques_retrieve - First observed
ciso_assistant_api_resilience_dora_incident_reports_update - First observed
ciso_assistant_api_resilience_dora_incident_reports_validate_report_retrieve - First observed
ciso_assistant_api_resilience_escalation_thresholds_batch_action_create - First observed
ciso_assistant_api_resilience_escalation_thresholds_cascade_info_retrieve - First observed
ciso_assistant_api_resilience_escalation_thresholds_create - First observed
ciso_assistant_api_resilience_escalation_thresholds_destroy - First observed
ciso_assistant_api_resilience_escalation_thresholds_list - First observed
ciso_assistant_api_resilience_escalation_thresholds_object_retrieve - First observed
ciso_assistant_api_resilience_escalation_thresholds_partial_update - First observed
ciso_assistant_api_resilience_escalation_thresholds_quali_impact_retrieve - First observed
ciso_assistant_api_resilience_escalation_thresholds_quant_unit_retrieve - First observed
ciso_assistant_api_resilience_escalation_thresholds_retrieve - First observed
ciso_assistant_api_resilience_escalation_thresholds_risk_matrix_retrieve - First observed
ciso_assistant_api_resilience_escalation_thresholds_update - First observed
ciso_assistant_api_risk_acceptances_accept_create - First observed
ciso_assistant_api_risk_acceptances_batch_action_create - First observed
ciso_assistant_api_risk_acceptances_cascade_info_retrieve - First observed
ciso_assistant_api_risk_acceptances_create - First observed
ciso_assistant_api_risk_acceptances_destroy - First observed
ciso_assistant_api_risk_acceptances_draft_create - First observed
ciso_assistant_api_risk_acceptances_list - First observed
ciso_assistant_api_risk_acceptances_object_retrieve - First observed
ciso_assistant_api_risk_acceptances_partial_update - First observed
ciso_assistant_api_risk_acceptances_reject_create - First observed
ciso_assistant_api_risk_acceptances_retrieve - First observed
ciso_assistant_api_risk_acceptances_revoke_create - First observed
ciso_assistant_api_risk_acceptances_state_retrieve - First observed
ciso_assistant_api_risk_acceptances_submit_create - First observed
ciso_assistant_api_risk_acceptances_to_review_retrieve - First observed
ciso_assistant_api_risk_acceptances_update - First observed
ciso_assistant_api_risk_acceptances_waiting_retrieve - First observed
ciso_assistant_api_risk_assessments_action_plan_budget_overview_list - First observed
ciso_assistant_api_risk_assessments_action_plan_excel_retrieve - First observed
ciso_assistant_api_risk_assessments_action_plan_list - First observed
ciso_assistant_api_risk_assessments_action_plan_pdf_retrieve - First observed
ciso_assistant_api_risk_assessments_batch_action_create - First observed
ciso_assistant_api_risk_assessments_cascade_info_retrieve - First observed
ciso_assistant_api_risk_assessments_convert_to_quantitative_create - First observed
ciso_assistant_api_risk_assessments_create - First observed
ciso_assistant_api_risk_assessments_destroy - First observed
ciso_assistant_api_risk_assessments_duplicate_create - First observed
ciso_assistant_api_risk_assessments_list - First observed
ciso_assistant_api_risk_assessments_object_retrieve - First observed
ciso_assistant_api_risk_assessments_partial_update - First observed
ciso_assistant_api_risk_assessments_per_status_retrieve - First observed
ciso_assistant_api_risk_assessments_quality_check_retrieve - First observed
ciso_assistant_api_risk_assessments_quality_check_retrieve_2 - First observed
ciso_assistant_api_risk_assessments_retrieve - First observed
ciso_assistant_api_risk_assessments_risk_analytics_retrieve - First observed
ciso_assistant_api_risk_assessments_risk_assessment_csv_retrieve - First observed
ciso_assistant_api_risk_assessments_risk_assessment_pdf_retrieve - First observed
ciso_assistant_api_risk_assessments_risk_assessment_xlsx_retrieve - First observed
ciso_assistant_api_risk_assessments_risk_timeline_retrieve - First observed
ciso_assistant_api_risk_assessments_status_retrieve - First observed
ciso_assistant_api_risk_assessments_sync_from_ebios_rm_create - First observed
ciso_assistant_api_risk_assessments_sync_preview_retrieve - First observed
ciso_assistant_api_risk_assessments_sync_to_actions_create - First observed
ciso_assistant_api_risk_assessments_update - First observed
ciso_assistant_api_risk_matrices_batch_action_create - First observed
ciso_assistant_api_risk_matrices_cascade_info_retrieve - First observed
ciso_assistant_api_risk_matrices_colors_retrieve - First observed
ciso_assistant_api_risk_matrices_create - First observed
ciso_assistant_api_risk_matrices_create_draft_create - First observed
ciso_assistant_api_risk_matrices_create_draft_from_create - First observed
ciso_assistant_api_risk_matrices_destroy - First observed
ciso_assistant_api_risk_matrices_discard_draft_create - First observed
ciso_assistant_api_risk_matrices_export_yaml_retrieve - First observed
ciso_assistant_api_risk_matrices_ids_retrieve - First observed
ciso_assistant_api_risk_matrices_impact_retrieve - First observed
ciso_assistant_api_risk_matrices_import_yaml_create - First observed
ciso_assistant_api_risk_matrices_list - First observed
ciso_assistant_api_risk_matrices_object_retrieve - First observed
ciso_assistant_api_risk_matrices_partial_update - First observed
ciso_assistant_api_risk_matrices_probability_retrieve - First observed
ciso_assistant_api_risk_matrices_provider_retrieve - First observed
ciso_assistant_api_risk_matrices_publish_draft_create - First observed
ciso_assistant_api_risk_matrices_retrieve - First observed
ciso_assistant_api_risk_matrices_risk_retrieve - First observed
ciso_assistant_api_risk_matrices_save_draft_partial_update - First observed
ciso_assistant_api_risk_matrices_start_editing_create - First observed
ciso_assistant_api_risk_matrices_update - First observed
ciso_assistant_api_risk_matrices_used_retrieve - First observed
ciso_assistant_api_risk_scenarios_batch_action_create - First observed
ciso_assistant_api_risk_scenarios_cascade_info_retrieve - First observed
ciso_assistant_api_risk_scenarios_count_per_level_retrieve - First observed
ciso_assistant_api_risk_scenarios_create - First observed
ciso_assistant_api_risk_scenarios_default_ref_id_retrieve - First observed
ciso_assistant_api_risk_scenarios_destroy - First observed
ciso_assistant_api_risk_scenarios_export_csv_retrieve - First observed
ciso_assistant_api_risk_scenarios_export_xlsx_retrieve - First observed
ciso_assistant_api_risk_scenarios_impact_retrieve - First observed
ciso_assistant_api_risk_scenarios_list - First observed
ciso_assistant_api_risk_scenarios_object_retrieve - First observed
ciso_assistant_api_risk_scenarios_partial_update - First observed
ciso_assistant_api_risk_scenarios_per_status_retrieve - First observed
ciso_assistant_api_risk_scenarios_probability_retrieve - First observed
ciso_assistant_api_risk_scenarios_qualifications_count_retrieve - First observed
ciso_assistant_api_risk_scenarios_retrieve - First observed
ciso_assistant_api_risk_scenarios_strength_of_knowledge_retrieve - First observed
ciso_assistant_api_risk_scenarios_sync_to_actions_create - First observed
ciso_assistant_api_risk_scenarios_treatment_retrieve - First observed
ciso_assistant_api_risk_scenarios_update - First observed
ciso_assistant_api_role_assignments_batch_action_create - First observed
ciso_assistant_api_role_assignments_cascade_info_retrieve - First observed
ciso_assistant_api_role_assignments_create - First observed
ciso_assistant_api_role_assignments_destroy - First observed
ciso_assistant_api_role_assignments_list - First observed
ciso_assistant_api_role_assignments_object_retrieve - First observed
ciso_assistant_api_role_assignments_partial_update - First observed
ciso_assistant_api_role_assignments_retrieve - First observed
ciso_assistant_api_role_assignments_update - First observed
ciso_assistant_api_search_retrieve - First observed
ciso_assistant_api_security_advisories_autocomplete_retrieve - First observed
ciso_assistant_api_security_advisories_batch_action_create - First observed
ciso_assistant_api_security_advisories_cascade_info_retrieve - First observed
ciso_assistant_api_security_advisories_create - First observed
ciso_assistant_api_security_advisories_destroy - First observed
ciso_assistant_api_security_advisories_enrich_create - First observed
ciso_assistant_api_security_advisories_list - First observed
ciso_assistant_api_security_advisories_object_retrieve - First observed
ciso_assistant_api_security_advisories_partial_update - First observed
ciso_assistant_api_security_advisories_retrieve - First observed
ciso_assistant_api_security_advisories_source_retrieve - First observed
ciso_assistant_api_security_advisories_sync_euvd_create - First observed
ciso_assistant_api_security_advisories_sync_kev_create - First observed
ciso_assistant_api_security_advisories_update - First observed
ciso_assistant_api_security_exceptions_batch_action_create - First observed
ciso_assistant_api_security_exceptions_cascade_info_retrieve - First observed
ciso_assistant_api_security_exceptions_create - First observed
ciso_assistant_api_security_exceptions_destroy - First observed
ciso_assistant_api_security_exceptions_export_csv_retrieve - First observed
ciso_assistant_api_security_exceptions_export_xlsx_retrieve - First observed
ciso_assistant_api_security_exceptions_list - First observed
ciso_assistant_api_security_exceptions_object_retrieve - First observed
ciso_assistant_api_security_exceptions_partial_update - First observed
ciso_assistant_api_security_exceptions_retrieve - First observed
ciso_assistant_api_security_exceptions_sankey_data_retrieve - First observed
ciso_assistant_api_security_exceptions_severity_retrieve - First observed
ciso_assistant_api_security_exceptions_status_retrieve - First observed
ciso_assistant_api_security_exceptions_update - First observed
ciso_assistant_api_serdes_attachment_metadata_retrieve - First observed
ciso_assistant_api_serdes_batch_download_attachments_create - First observed
ciso_assistant_api_serdes_batch_upload_attachments_create - First observed
ciso_assistant_api_serdes_dump_db_retrieve - First observed
ciso_assistant_api_serdes_full_restore_create - First observed
ciso_assistant_api_serdes_load_backup_create - First observed
ciso_assistant_api_settings_feature_flags_partial_update - First observed
ciso_assistant_api_settings_feature_flags_retrieve - First observed
ciso_assistant_api_settings_feature_flags_update - First observed
ciso_assistant_api_settings_general_default_custom_analytics_dashboard_retrieve - First observed
ciso_assistant_api_settings_general_default_language_retrieve - First observed
ciso_assistant_api_settings_general_default_language_retrieve_2 - First observed
ciso_assistant_api_settings_general_ebios_radar_parameters_retrieve - First observed
ciso_assistant_api_settings_general_force_language_create - First observed
ciso_assistant_api_settings_general_interface_settings_retrieve - First observed
ciso_assistant_api_settings_general_notifications_settings_retrieve - First observed
ciso_assistant_api_settings_general_object_retrieve - First observed
ciso_assistant_api_settings_general_partial_update - First observed
ciso_assistant_api_settings_general_retrieve - First observed
ciso_assistant_api_settings_general_security_objective_scale_retrieve - First observed
ciso_assistant_api_settings_general_set_default_dashboard_create - First observed
ciso_assistant_api_settings_general_update - First observed
ciso_assistant_api_settings_global_create - First observed
ciso_assistant_api_settings_global_destroy - First observed
ciso_assistant_api_settings_global_list - First observed
ciso_assistant_api_settings_global_partial_update - First observed
ciso_assistant_api_settings_global_retrieve - First observed
ciso_assistant_api_settings_global_update - First observed
ciso_assistant_api_settings_sec_intel_feeds_partial_update - First observed
ciso_assistant_api_settings_sec_intel_feeds_retrieve - First observed
ciso_assistant_api_settings_sec_intel_feeds_update - First observed
ciso_assistant_api_settings_sso_cascade_info_retrieve - First observed
ciso_assistant_api_settings_sso_info_retrieve - First observed
ciso_assistant_api_settings_sso_object_retrieve - First observed
ciso_assistant_api_settings_sso_partial_update - First observed
ciso_assistant_api_settings_sso_provider_retrieve - First observed
ciso_assistant_api_settings_sso_retrieve - First observed
ciso_assistant_api_settings_sso_update - First observed
ciso_assistant_api_settings_vulnerability_sla_partial_update - First observed
ciso_assistant_api_settings_vulnerability_sla_retrieve - First observed
ciso_assistant_api_settings_vulnerability_sla_update - First observed
ciso_assistant_api_solutions_batch_action_create - First observed
ciso_assistant_api_solutions_cascade_info_retrieve - First observed
ciso_assistant_api_solutions_create - First observed
ciso_assistant_api_solutions_data_location_processing_retrieve - First observed
ciso_assistant_api_solutions_data_location_storage_retrieve - First observed
ciso_assistant_api_solutions_destroy - First observed
ciso_assistant_api_solutions_dora_alternative_providers_identified_retrieve - First observed
ciso_assistant_api_solutions_dora_data_sensitiveness_retrieve - First observed
ciso_assistant_api_solutions_dora_discontinuing_impact_retrieve - First observed
ciso_assistant_api_solutions_dora_has_exit_plan_retrieve - First observed
ciso_assistant_api_solutions_dora_ict_service_type_retrieve - First observed
ciso_assistant_api_solutions_dora_non_substitutability_reason_retrieve - First observed
ciso_assistant_api_solutions_dora_reintegration_possibility_retrieve - First observed
ciso_assistant_api_solutions_dora_reliance_level_retrieve - First observed
ciso_assistant_api_solutions_dora_substitutability_retrieve - First observed
ciso_assistant_api_solutions_export_csv_retrieve - First observed
ciso_assistant_api_solutions_export_xlsx_retrieve - First observed
ciso_assistant_api_solutions_list - First observed
ciso_assistant_api_solutions_object_retrieve - First observed
ciso_assistant_api_solutions_partial_update - First observed
ciso_assistant_api_solutions_retrieve - First observed
ciso_assistant_api_solutions_update - First observed
ciso_assistant_api_stored_libraries_batch_action_create - First observed
ciso_assistant_api_stored_libraries_cascade_info_retrieve - First observed
ciso_assistant_api_stored_libraries_content_retrieve - First observed
ciso_assistant_api_stored_libraries_create - First observed
ciso_assistant_api_stored_libraries_destroy - First observed
ciso_assistant_api_stored_libraries_import_create - First observed
ciso_assistant_api_stored_libraries_list - First observed
ciso_assistant_api_stored_libraries_locale_retrieve - First observed
ciso_assistant_api_stored_libraries_object_retrieve - First observed
ciso_assistant_api_stored_libraries_object_type_retrieve - First observed
ciso_assistant_api_stored_libraries_partial_update - First observed
ciso_assistant_api_stored_libraries_provider_retrieve - First observed
ciso_assistant_api_stored_libraries_retrieve - First observed
ciso_assistant_api_stored_libraries_tree_retrieve - First observed
ciso_assistant_api_stored_libraries_unload_create - First observed
ciso_assistant_api_stored_libraries_update - First observed
ciso_assistant_api_stored_libraries_upload_create - First observed
ciso_assistant_api_task_nodes_batch_action_create - First observed
ciso_assistant_api_task_nodes_cascade_info_retrieve - First observed
ciso_assistant_api_task_nodes_create - First observed
ciso_assistant_api_task_nodes_destroy - First observed
ciso_assistant_api_task_nodes_evidences_list - First observed
ciso_assistant_api_task_nodes_list - First observed
ciso_assistant_api_task_nodes_object_retrieve - First observed
ciso_assistant_api_task_nodes_partial_update - First observed
ciso_assistant_api_task_nodes_remove_evidence_create - First observed
ciso_assistant_api_task_nodes_retrieve - First observed
ciso_assistant_api_task_nodes_status_retrieve - First observed
ciso_assistant_api_task_nodes_update - First observed
ciso_assistant_api_task_templates_assigned_to_retrieve - First observed
ciso_assistant_api_task_templates_batch_action_create - First observed
ciso_assistant_api_task_templates_calendar_retrieve - First observed
ciso_assistant_api_task_templates_cascade_info_retrieve - First observed
ciso_assistant_api_task_templates_create - First observed
ciso_assistant_api_task_templates_destroy - First observed
ciso_assistant_api_task_templates_export_csv_retrieve - First observed
ciso_assistant_api_task_templates_export_xlsx_retrieve - First observed
ciso_assistant_api_task_templates_list - First observed
ciso_assistant_api_task_templates_object_retrieve - First observed
ciso_assistant_api_task_templates_partial_update - First observed
ciso_assistant_api_task_templates_per_status_retrieve - First observed
ciso_assistant_api_task_templates_retrieve - First observed
ciso_assistant_api_task_templates_status_retrieve - First observed
ciso_assistant_api_task_templates_update - First observed
ciso_assistant_api_task_templates_yearly_review_retrieve - First observed
ciso_assistant_api_teams_batch_action_create - First observed
ciso_assistant_api_teams_cascade_info_retrieve - First observed
ciso_assistant_api_teams_create - First observed
ciso_assistant_api_teams_destroy - First observed
ciso_assistant_api_teams_list - First observed
ciso_assistant_api_teams_object_retrieve - First observed
ciso_assistant_api_teams_partial_update - First observed
ciso_assistant_api_teams_retrieve - First observed
ciso_assistant_api_teams_update - First observed
ciso_assistant_api_terminologies_batch_action_create - First observed
ciso_assistant_api_terminologies_cascade_info_retrieve - First observed
ciso_assistant_api_terminologies_create - First observed
ciso_assistant_api_terminologies_destroy - First observed
ciso_assistant_api_terminologies_field_path_retrieve - First observed
ciso_assistant_api_terminologies_list - First observed
ciso_assistant_api_terminologies_object_retrieve - First observed
ciso_assistant_api_terminologies_partial_update - First observed
ciso_assistant_api_terminologies_retrieve - First observed
ciso_assistant_api_terminologies_update - First observed
ciso_assistant_api_threats_batch_action_create - First observed
ciso_assistant_api_threats_cascade_info_retrieve - First observed
ciso_assistant_api_threats_create - First observed
ciso_assistant_api_threats_destroy - First observed
ciso_assistant_api_threats_ids_retrieve - First observed
ciso_assistant_api_threats_list - First observed
ciso_assistant_api_threats_object_retrieve - First observed
ciso_assistant_api_threats_partial_update - First observed
ciso_assistant_api_threats_provider_retrieve - First observed
ciso_assistant_api_threats_retrieve - First observed
ciso_assistant_api_threats_threats_count_retrieve - First observed
ciso_assistant_api_threats_update - First observed
ciso_assistant_api_timeline_entries_batch_action_create - First observed
ciso_assistant_api_timeline_entries_cascade_info_retrieve - First observed
ciso_assistant_api_timeline_entries_create - First observed
ciso_assistant_api_timeline_entries_destroy - First observed
ciso_assistant_api_timeline_entries_entry_type_retrieve - First observed
ciso_assistant_api_timeline_entries_list - First observed
ciso_assistant_api_timeline_entries_object_retrieve - First observed
ciso_assistant_api_timeline_entries_partial_update - First observed
ciso_assistant_api_timeline_entries_retrieve - First observed
ciso_assistant_api_timeline_entries_update - First observed
ciso_assistant_api_user_groups_batch_action_create - First observed
ciso_assistant_api_user_groups_cascade_info_retrieve - First observed
ciso_assistant_api_user_groups_create - First observed
ciso_assistant_api_user_groups_destroy - First observed
ciso_assistant_api_user_groups_list - First observed
ciso_assistant_api_user_groups_object_retrieve - First observed
ciso_assistant_api_user_groups_partial_update - First observed
ciso_assistant_api_user_groups_retrieve - First observed
ciso_assistant_api_user_groups_update - First observed
ciso_assistant_api_user_preferences_partial_update - First observed
ciso_assistant_api_user_preferences_retrieve - First observed
ciso_assistant_api_users_batch_action_create - First observed
ciso_assistant_api_users_cascade_info_retrieve - First observed
ciso_assistant_api_users_create - First observed
ciso_assistant_api_users_destroy - First observed
ciso_assistant_api_users_list - First observed
ciso_assistant_api_users_object_retrieve - First observed
ciso_assistant_api_users_partial_update - First observed
ciso_assistant_api_users_retrieve - First observed
ciso_assistant_api_users_update - First observed
ciso_assistant_api_validation_flows_batch_action_create - First observed
ciso_assistant_api_validation_flows_cascade_info_retrieve - First observed
ciso_assistant_api_validation_flows_create - First observed
ciso_assistant_api_validation_flows_default_ref_id_retrieve - First observed
ciso_assistant_api_validation_flows_destroy - First observed
ciso_assistant_api_validation_flows_linked_models_retrieve - First observed
ciso_assistant_api_validation_flows_list - First observed
ciso_assistant_api_validation_flows_object_retrieve - First observed
ciso_assistant_api_validation_flows_partial_update - First observed
ciso_assistant_api_validation_flows_retrieve - First observed
ciso_assistant_api_validation_flows_status_retrieve - First observed
ciso_assistant_api_validation_flows_update - First observed
ciso_assistant_api_vulnerabilities_autocomplete_retrieve - First observed
ciso_assistant_api_vulnerabilities_batch_action_create - First observed
ciso_assistant_api_vulnerabilities_cascade_info_retrieve - First observed
ciso_assistant_api_vulnerabilities_create - First observed
ciso_assistant_api_vulnerabilities_destroy - First observed
ciso_assistant_api_vulnerabilities_list - First observed
ciso_assistant_api_vulnerabilities_object_retrieve - First observed
ciso_assistant_api_vulnerabilities_partial_update - First observed
ciso_assistant_api_vulnerabilities_refresh_due_dates_create - First observed
ciso_assistant_api_vulnerabilities_retrieve - First observed
ciso_assistant_api_vulnerabilities_sankey_data_retrieve - First observed
ciso_assistant_api_vulnerabilities_severity_retrieve - First observed
ciso_assistant_api_vulnerabilities_status_retrieve - First observed
ciso_assistant_api_vulnerabilities_treemap_data_retrieve - First observed
ciso_assistant_api_vulnerabilities_update - First observed
ciso_assistant_api_webhooks_audit_sinks_batch_action_create - First observed
ciso_assistant_api_webhooks_audit_sinks_cascade_info_retrieve - First observed
ciso_assistant_api_webhooks_audit_sinks_create - First observed
ciso_assistant_api_webhooks_audit_sinks_destroy - First observed
ciso_assistant_api_webhooks_audit_sinks_list - First observed
ciso_assistant_api_webhooks_audit_sinks_object_retrieve - First observed
ciso_assistant_api_webhooks_audit_sinks_partial_update - First observed
ciso_assistant_api_webhooks_audit_sinks_replay_create - First observed
ciso_assistant_api_webhooks_audit_sinks_retrieve - First observed
ciso_assistant_api_webhooks_audit_sinks_update - First observed
ciso_assistant_api_webhooks_endpoints_batch_action_create - First observed
ciso_assistant_api_webhooks_endpoints_cascade_info_retrieve - First observed
ciso_assistant_api_webhooks_endpoints_create - First observed
ciso_assistant_api_webhooks_endpoints_destroy - First observed
ciso_assistant_api_webhooks_endpoints_list - First observed
ciso_assistant_api_webhooks_endpoints_object_retrieve - First observed
ciso_assistant_api_webhooks_endpoints_partial_update - First observed
ciso_assistant_api_webhooks_endpoints_retrieve - First observed
ciso_assistant_api_webhooks_endpoints_update - First observed
ciso_assistant_api_webhooks_event_types_retrieve - First observed
ciso_assistant_serdes_attachment_metadata_retrieve - First observed
ciso_assistant_serdes_batch_download_attachments_create - First observed
ciso_assistant_serdes_batch_upload_attachments_create - First observed
ciso_assistant_serdes_dump_db_retrieve - First observed
ciso_assistant_serdes_full_restore_create - First observed
ciso_assistant_serdes_load_backup_create - First observed
ciso_ingest
TDQS
Scored across 1567 tools
With 1567 tools, the surface contains dozens of near-identical entries per resource (list/retrieve/object_retrieve/create/update/partial_update/destroy) plus literal duplicates such as `document_attachments_retrieve` vs `document_attachments_retrieve_2`, `requirement_mapping_sets_graph_data_retrieve` vs `..._retrieve_2`, and the `ciso_assistant_serdes_*` tools duplicated with and without the `api_` prefix. Many descriptions are boilerplate ('API endpoint that allows X to be viewed or edited', 'Generic export mixin for CSV/XLSX exports', 'Perform a batch action on multiple objects') and therefore give no signal for choosing between `retrieve`, `object_retrieve`, `list`, or the resource-specific variants. An agent cannot reliably distinguish e.g. `applied_controls_*` from `policies_*`, which expose identical sub-endpoints.
The bulk follows a mechanical `ciso_assistant_api_<resource>_<action>_<httpverb>` pattern, but it is broken by exceptions: bare `ciso_ingest`, `ciso_assistant_api_request`, a second prefix-less `ciso_assistant_serdes_*` family, numeric disambiguation suffixes (`_retrieve_2`), and action segments that mix resource actions with HTTP verbs (`batch_action_create`, `publish_draft_preview_create`). Names are also extremely long, making near-identical entries hard to scan apart.
1567 tools is two orders of magnitude beyond a usable agent-facing surface; nearly every endpoint is exposed as a separate tool, including per-field choice endpoints (`..._category_retrieve`, `..._severity_retrieve`) and pure chart-data endpoints. This is a raw API dump rather than a curated tool set.
Coverage is technically exhaustive — full CRUD, exports, analytics, settings, auth, and a generic `ciso_assistant_api_request` escape hatch mean almost no operation is unreachable. However, the surface is not meaningfully usable as a tool set, so 'completeness' here is achieved by brute force rather than by a coherent, navigable lifecycle.
Maintenance
Related MCP Connectors
Authenticated MCP server for ClearPolicy policy and compliance workflows.
Compliance frameworks (SOC 2, ISO 27001, CMMC, NIST, more) delivered to AI agents as MCP tools.
10,065 source-verified compliance nodes, 39 pillars, 25 MCP tools (EU AI Act, GDPR, NIST, MITRE).
Single-connection MCP gateway discovering and executing 490+ verified MCP & A2A tools.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn MCP server that exposes SOC2 and HIPAA compliance remediation logic as structured tools for AI agents to call, enabling an LLM-driven workflow to discover, assess, remediate, and report on compliance controls.MIT
- AlicenseAqualityDmaintenanceUnified MCP server integrating NIST and OWASP security frameworks with live vulnerability data, enabling security searches, compliance mapping, threat modeling, and checklist generation.4114MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that integrates with ARXsec.io API to execute security scans, compliance checks, secrets management, and remediation actions with policy enforcement, audit logging, and human approval workflows.14 PyPIMIT
- FlicenseNot gradedqualityFmaintenanceMCP server for AI agent compliance that screens actions before execution and records decisions in an immutable, SIEM-ready audit trail.34 npm-