Skip to main content
Glama
koten-ai

io.github.koten-ai/zeus-dev-helper

Official
by koten-ai

diagnose_error

Read-onlyIdempotent

Map a symptom to failure_class + one generated-file change.

Instructions

Map a symptom to failure_class + one generated-file change.

Accepts symptom text, optional req_id, hop name, HTTP status, and the top-level keys of the hop result. Does not accept document bodies. Does not echo a password, session id, or document body. Includes Detective URL templates when req_id/chat_id are present. Does not scrape Hub.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyNo
req_idNo
statusNo
chat_idNo
messageNo
symptomNo
turn_idNo
hop_nameNo
zeus_urlNo
item_keysNo
node_keysNo
error_codeNo
hop_bucketNo
session_idNo
error_classNo
result_keysNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.7.8
    • addedInput schema / properties / hop_bucket
      Added value: +{
      +  "default": "",
      +  "title": "Hop Bucket",
      +  "type": "string"
      +}
    • addedInput schema / properties / hop_name
      Added value: +{
      +  "default": "",
      +  "title": "Hop Name",
      +  "type": "string"
      +}
    • addedInput schema / properties / item_keys
      Added value: +{
      +  "default": "",
      +  "title": "Item Keys",
      +  "type": "string"
      +}
    • addedInput schema / properties / node_keys
      Added value: +{
      +  "default": "",
      +  "title": "Node Keys",
      +  "type": "string"
      +}
    • addedInput schema / properties / result_keys
      Added value: +{
      +  "default": "",
      +  "title": "Result Keys",
      +  "type": "string"
      +}
    • addedInput schema / properties / symptom
      Added value: +{
      +  "default": "",
      +  "title": "Symptom",
      +  "type": "string"
      +}
  2. First observedv0.7.3

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds real context the annotations don't: redaction guarantees (no password, session id, or document body echoed) and conditional behavior (Detective URL templates appear when req_id/chat_id are present).

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

Conciseness4/5

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

Short and front-loaded: the core purpose leads, then accepted/non-accepted inputs, then side-effect caveats. The terse 'Does not scrape Hub.' sentence is a stray fragment but the overall shape is efficient.

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

Completeness3/5

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

Because an output schema exists, return values needn't be explained, and the redaction/URL-template notes are useful. But for a 16-parameter tool with zero schema coverage, leaving the majority of inputs undocumented is a real completeness gap.

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

Parameters2/5

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

Schema description coverage is 0% across 16 parameters, so the description must compensate and largely doesn't. It names only about five inputs (symptom, req_id, hop name, HTTP status, result keys) and leaves chat_id, zeus_url, error_code, error_class, hop_bucket, session_id, turn_id, item_keys, node_keys, and body entirely unexplained in both schema and description.

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

Purpose4/5

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

States a specific verb+resource: 'Map a symptom to failure_class + one generated-file change.' An agent knows the input (symptom text) and the output shape (a failure class plus a single file change). It isn't differentiated from the many siblings, but none of them are close enough to require that.

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

Usage Guidelines3/5

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

It gives input-scoping rules ('Does not accept document bodies', 'Does not scrape Hub'), which imply usage boundaries, but never says when to reach for this tool versus doctor, readiness_check, or smoke_test_zeus. Usage is implied rather than directed.

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