A hand-drawn sketch pad for Claude Code sessions. Draw in your browser, pick a session, submit — Claude sees your sketch as a PNG alongside your prompt.
Two tools with clear, actionable descriptions (push_image: 189 chars, resolve_annotations: 176 chars) and well-structured input schemas. Both tools declare their risk level (WRITE) and have typed, described parameters. However, output schemas are not documented, LLMs cannot predict what these tools return, limiting downstream chaining. Parameter descriptions are adequate but lack format constraints (e.g., file_path does not specify absolute vs relative, image_base64 lacks size limits). No error handling guidance provided.
Push an image to the trayce canvas as a new layer. Provide either a file_path to an image on disk (preferred for large images) or image_base64 for inline data. Use this to send generated images, diagrams, or reference photos to the user's canvas.
Mark one or more canvas annotations as addressed, rejected, or needs-clarification. Optionally attach a short reply per annotation. Use after completing a task to close the loop with the user on each annotation they placed.
Output schemas not documented. LLMs cannot predict return values, breaking tool chaining and downstream planning.
No error handling guidance. If push_image fails (invalid file, unsupported format, disk full), LLM receives no recovery hint.
Parameter constraints missing. file_path lacks format spec (absolute? relative? max length?). image_base64 lacks size limit. LLMs may pass invalid values.
resolve_annotations 'reply' parameter is optional but no guidance on when it is required vs optional. Ambiguous dependency.
Tool names are action-oriented (push_, resolve_) but lack object clarity. 'push_image' could mean push to server, push to UI, or push to storage. Distinguish from similar canvas operations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |