Backchat exposes 8 browser automation tools with basic schemas and descriptions. All tools have descriptions (10-50 chars) and input schemas with typed parameters. However, descriptions are minimal and lack LLM-optimized guidance on WHEN to use each tool or what happens on failure. Parameter descriptions are present but generic ('CSS selector or text selector'). No output schemas documented. Error handling is absent, no guidance on recovery or retry logic. Tool names are action-verb-based (click, type, navigate) which is good, but lack specificity about side effects (e.g., 'click' doesn't clarify if it's a read or write operation in the description). No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. Composition is reasonable, tools chain well (navigate → getText → click), but no pagination, no batch operations, and no idempotency guarantees documented.
Click an element on the active browser page
Close the active browser tab
Execute JavaScript code in the active browser page
Extract text content from the active browser page
Navigate the active browser tab to a URL
Capture a screenshot of the active browser page
List, create, select, or close browser tabs
Type text into an input element on the active browser page
No output schemas documented. LLMs cannot predict what fields to expect from tool responses, forcing them to guess or make follow-up calls.
Descriptions are too brief (20-50 chars) and lack LLM-optimized guidance. Missing WHEN to use each tool, what happens on success/failure, and prerequisites. E.g., 'click' doesn't explain if it's safe to retry or if it has side effects.
No error handling or recovery guidance. Tools lack descriptions of failure modes (e.g., 'selector not found', 'navigation timeout'). LLMs cannot self-correct or retry intelligently.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint/destructiveHint/idempotentHint) despite clear risk levels. 'click', 'type', 'navigate', 'close' are destructive; 'getText', 'screenshot' are read-only. Annotations enable safer agent planning.
'evaluate' tool accepts arbitrary JavaScript with no validation or sandboxing guidance. Description lacks security warnings about injection risks and what expressions are safe to run.