Agentic-first review tool for LaTeX papers: live PDF preview and comment queue
Six tools with mixed quality. Tool naming is action-oriented (state, read_comments, write_comments, compile, image, listen), but descriptions are terse (10-50 chars) and lack context for LLM selection. Input schemas are present for most tools but lack descriptions for critical parameters. The write_comments tool has a complex discriminated union anchor type, but no guidance on when to use each anchor kind. Output schemas are not documented. Error handling and recovery guidance are absent from all tool descriptions.
recompile, return structured errors
render a PDF page or exact region
instructions for receiving review events
what is new, selected threads in full, or a listing
paths, automatic compilation, sections, comment counts
add/reply/suggest/withdraw/edit/delete comments
Tool descriptions are too brief (10-50 chars) and lack context for LLM selection. 'paths, automatic compilation, sections, comment counts' does not explain WHEN to call state() or WHAT it returns. Descriptions should be 50-200 chars and answer: what does it do, when to use it, what does it return?
Output schemas are not documented. LLMs cannot plan downstream calls or extract data without knowing what fields to expect. Every tool must document its return type and structure.
Parameter descriptions are missing or minimal. 'since' in read_comments has a description, but 'ids' lacks guidance on format. 'action' in write_comments has an enum but no description of what each action does or when to use it. Every parameter needs a description explaining what it controls.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
No error handling or recovery guidance. Tool descriptions do not explain what errors can occur, how to interpret them, or what to do next. E.g., compile() may fail with LaTeX errors, but the description does not say how errors are returned or what fields to expect.
write_comments uses a discriminated union anchor type (PaperAnchorInput | SectionAnchorInput | SourceRangeAnchorInput) but provides no guidance on which anchor kind to use for different comment scenarios. LLMs will struggle to choose the right anchor without explicit examples or decision logic.