Show your coding agent a design, not a screenshot. Turns a CollectUI link (or any image/GIF/video URL) into a measured design and motion brief: durations, easing curves, displacement, palette and layout — in ~2.5k tokens, no screenshots required.
Two well-named tools with comprehensive descriptions and detailed input schemas. get_design_context has excellent parameter documentation (detail, frames, contact_sheet, auto_crop, scene_cuts all clearly described). browse_designs is simpler but well-structured. Both tools are READ_ONLY and properly scoped. However, output schemas are not explicitly documented in the visible code, the response structure is inferred from renderPack() and analysis objects but not formally declared. Error handling is present (fail() function) but generic. No tool annotations (readOnlyHint, etc.) despite both being read-only operations.
Find designs by keyword, category, designer, or feed. Returns a compact index of post ids to feed into `get_design_context`. Use this when you want inspiration of a particular kind (e.g. category 'ui-interaction' for motion-heavy work) rather than a specific link.
Give it a CollectUI link (home, /designs/<category>, /designers/<user>, /trending), a CollectUI post id, the original x.com post URL, or any direct image/GIF/video URL. Returns a structured brief: format and composition, colour palette with inferred roles, a segmented motion timeline (durations, best-fit easing curves, pixel displacement, overshoot/spring detection, loop detection, ASCII maps of where on screen the movement happens), implementation hints as CSS/framer-motion starting points, and a small set of deliberately chosen keyframes. If the link points at a listing, it returns the index of posts instead — pass `pick` to drill in.
Output schemas not formally documented. Response structure inferred from renderPack() and analysis objects, but no explicit schema declaration visible for LLM to understand return fields (e.g., motion timeline structure, palette format, keyframe layout).
No tool annotations despite both tools being read-only. Missing readOnlyHint metadata that would signal to LLMs these are safe, non-destructive operations.
Error messages are generic ('Error: <message>'). No recovery guidance or error classification (retryable vs user-fixable vs fatal). LLM cannot determine next action on failure.
get_design_context accepts 'url' parameter that resolves to multiple types (CollectUI link, post ID, x.com URL, direct media URL). No validation or error guidance if URL format is invalid or unrecognized.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
browse_designs 'query' parameter is free-text with no constraints or examples. LLM has no guidance on expected format (exact title match? substring? regex?).