Prompt library
Write design handoff annotations developers can build from
The states table and content min/max rules cover the two questions developers actually ping designers about, and [DECISION NEEDED] converts silent gaps into visible work items before sprint pressure fills them arbitrarily. Mapping to named system components makes cost visible where a new component is being smuggled in.
Last reviewed July 17, 2026
The prompt
Write the handoff annotations for the screen below.
The screen and its behavior as I understand it: {{screen}}
The component library or design system in use: {{system}}
Produce annotations grouped by concern:
1. Behavior: every interactive element with its states (default, hover, focus, active, disabled, loading, error) and what triggers each transition. A state you cannot specify gets [DECISION NEEDED], not silence.
2. Content rules: real min/max content per text element (what happens at 2 characters and at 200), truncation vs wrap decisions, and empty/zero/one/many rules for anything list-like.
3. Responsive and breakpoints: what reflows, what hides, what changes hierarchy, at which named breakpoints.
4. System mapping: which existing components this uses (by their library names), where it extends one (and what the extension is), and anything genuinely new (flagged, because new components are a cost decision, not a designer's whim).
5. Accessibility intent: focus order as a numbered list, what each icon-only control announces, and live-region needs for dynamic changes.
6. The questions list: everything a developer would otherwise ask in a DM, answered preemptively.
Rule: annotate decisions, not appearances; the picture already shows what it looks like.Run in idaptOpens a new chat with the prompt prefilled. Nothing sends until you press send.
Fill in the variables
| Variable | What it is | Example |
|---|---|---|
| {{screen}} | The screen and its intended behavior | [describe the screen or paste the spec notes] |
| {{system}} | The design system context | our internal library on top of Radix primitives |