18 tools with consistent verb-noun naming (get_, search_, create_, update_, delete_, list_, add_, move_, execute_, link_, unlink_). All tools have descriptions (10-100 chars, mostly 50-80 chars, within baseline 194 avg but on the short side). Input schemas present for all tools with typed parameters and descriptions. However, descriptions lack depth: most are single-sentence, under 100 chars, missing context on WHEN to use, prerequisites, or state-modification warnings. Output schemas not documented, LLMs cannot predict response structure. Error handling absent from visible code. No parameter constraints (enums, ranges) despite many accepting restricted values (e.g., status names, relationship types). Composition is sound: tools are single-responsibility, names are clear and distinct. Naming follows verb_noun pattern well. Parameter descriptions exist but are minimal ('The issue key' vs 'The issue key (e.g., PROJ-123), a unique identifier for the issue in Yandex Tracker').
Add a comment to an issue
Create a new issue in a queue
Delete a comment from an issue
Execute a specific transition on an issue
Get the current authenticated user
Get a single issue by its key
Get a user by login or UID
Output schemas not documented. LLMs cannot predict response structure, forcing them to guess what fields are returned and how to chain tools. Baseline: 100% of A+ tools document return types.
Descriptions are minimal (50-80 chars) and lack context. Missing: WHEN to use each tool, prerequisites, state-modification warnings for WRITE/DESTRUCTIVE tools. Baseline: A+ tools average 194 chars with clear WHAT/WHEN/WHY guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |
Create a link between two issues
List all comments on an issue
List all links on an issue
List all available queues
List all available issue statuses
List available status transitions for an issue
List users, optionally filtered by email or group
Move an issue to a new status by status name
Search for issues using query, filter, and ordering
Remove a link between two issues
Update an issue's fields
No parameter constraints (enums, ranges, patterns). E.g., 'relationship' in link_issue accepts free-form strings ('relates', 'blocks', 'is blocked by') but no enum constraint. LLMs will hallucinate invalid values.
No error handling guidance in visible code. LLMs cannot determine if errors are retryable, user-fixable, or fatal. No recovery suggestions (e.g., 'User not found. Try search_users() first.').
DESTRUCTIVE tools (delete_comment, unlink_issue) lack confirmation or dry-run support. Agents can accidentally delete data without safeguards.