--- name: prototype description: >- Submit a component design proposal to cueloop for human review without blocking. Use when the user asks to review a UI component's shape before implementing it: its prop/type API, composition, and callstack. --- # cueloop prototype review Review a UI component on paper before you build it: its interface, how it is assembled from primitives you already have, and its callstack. You write a single Markdown design doc; the reviewer reads it in the terminal and annotates the exact lines. The review does not block: you submit, keep working with the user, and cueloop delivers the Message when the reviewer is done. Write the doc as plain Markdown with exactly these three sections, in order. Keep everything line-addressable text, since the reviewer anchors comments to lines and words. Prefer fenced code blocks and indented trees over prose. Do not use Markdown tables; the reviewer renders one as a single block, so write comparisons as a list. ## 1. API The prop/type surface, as a fenced `ts` block: the real interface a caller sees. Extract it from the component's types, or write the proposed one. Include every prop, its type, whether it is optional, and a one-line intent where it is not obvious. ## 2. Composition How the component is assembled, as a **JSX anatomy tree** in a fenced `tsx` block, following the react-aria / Radix "Anatomy" convention. Write the real element tree, nesting by indentation, and put a trailing `{/* ... */}` comment on a node to name the primitive it reuses (or mark it a slot). It reads as code, so the reviewer annotates actual JSX lines. When there is more than one way to build it, list the options and your recommendation as a list, not a table: ```tsx {/* generic over T */}