Zero-dependency local server that renders agent-written markdown plans and recaps with Mermaid diagrams, syntax-highlighted code, rich diffs, and styled DB migrations. Live-reloads on file changes and collects reviewer comments for the agent.
Server provides 7 tools with mostly complete schemas and descriptions. Tool names follow verb_noun convention (startServer, readComments, setCommentStatus, etc.). Descriptions are present and substantive (avg ~120 chars), explaining WHAT each tool does. However, parameter descriptions lack depth, many omit usage context, constraints, and error recovery guidance. Output schemas are not documented. Error handling is minimal. No tool annotations (readOnlyHint/destructiveHint). Composition is reasonable: tools are single-purpose and chainable via dir/path parameters. Security concern: tools accept 'dir' as a parameter, risking path traversal if not validated server-side.
Build one self-contained HTML file for a markdown document with full rendering fidelity, works offline from file://
Read the open-comments digest from the on-disk comment store
Read persisted viewer preferences from the .visual-docs store
Render the open-comments digest as formatted markdown
Set a comment's lifecycle state (new, acknowledged, resolved, or dismissed)
Start the visual-docs HTTP server for rendering markdown files with Mermaid diagrams, syntax-highlighted code, rich diffs, and styled DB migrations
Update a persisted viewer preference
Output schemas not documented. LLMs cannot infer what fields each tool returns, forcing them to guess downstream field names and risking broken tool chains.
Parameter descriptions lack constraint details. 'dir' parameter has no validation guidance (path traversal risk). 'port' has no range (1-65535). 'state' enum is documented but no guidance on valid transitions (e.g., can 'dismissed' transition back to 'new'?).
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot determine which tools are safe to retry or have side effects. startServer and updatePrefs are destructive but unmarked.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Error handling absent from tool definitions. No guidance on retryability, user-fixable errors, or recovery steps. E.g., if startServer fails to bind a port, what should the LLM do?
Path traversal risk: 'dir' parameter accepted without documented validation. LLMs could be tricked into serving or modifying files outside intended scope.