Vercel announced UI SDK on 12 November, a library of interface “behaviors” meant for coding agents rather than for people to assemble by hand. The site describes behaviors as “the pieces that make a component work: keyboard navigation, focus, selection, popups, drag and drop, and screen reader support”. Vercel says it has built more than 50 of them.
Behaviors instead of components
The pitch is easiest with a select box. Give an agent a finished Select component and it can build a Select. Give it the pieces, createPopup, createSelection and createTypeahead, and it can also build an autocomplete, a combobox or something new. Other behaviors include createRovingFocus (arrow keys through a list with one Tab stop), createReorder, createResize, createViewport for pan and zoom, and createVirtualizer for long lists.
The behaviors and the ARIA attributes they need live in @ui-sdk/core, with adapters for React, Vue, Svelte, Solid and Web Components. Vercel also ships a starter component library built from the same behaviors, including Select, Combobox, Date Picker, Menu and Tabs.
Setup is aimed at your agent. The docs give a prompt that installs the packages, adds a note to AGENTS.md pointing at the bundled llms.txt, and installs a skill:
npm install @ui-sdk/react @ui-sdk/core
npx skills add vercel-labs/ui --skill ui-sdk
Agents on the page, too
The second half is for agents that use your app rather than write it. createAgent builds a bridge that can snapshot the UI SDK components on a page, see which actions each one allows, and call them with act. The example snapshot returns an input labeled “Project name” with the actions setValue and clear. The accessible name that a screen reader uses is also how the agent finds the control, which ties agent support to labeling things properly.
A WebMCP helper, registerTools, exposes the same three tools through the browser’s document.modelContext API, for browsers that have it. It requires an allow callback for each step the browser’s agent asks for, and the docs’ example asks the user before every press. The tools carry an untrusted-content hint. That is a different route from screen-level control such as agent-desktop: here the app decides what the agent can touch.
Status
The docs say UI SDK “is in beta, so some APIs may still change.” The GitHub repository is under Vercel Labs with an Apache-2.0 license, and the npm latest tag of @ui-sdk/core was 0.1.0-beta.1 on 13 November, with 0.1.0-beta.2 published on the beta tag that afternoon. React needs version 19 or newer.
Why this matters
Agents that generate front-end code tend to rebuild keyboard handling and focus from scratch, which is where accessibility bugs creep in. UI SDK bets that handing them tested behaviors gives better components than having them copy whole widgets. The agent bridge, with an app-side permission check on every step, is an early pattern for letting in-browser agents act on a page without screen scraping, though it is still a 0.1 beta.

The Campfire
CommentsThanks. Your comment is waiting for the desk. Once it is approved it appears here within about a minute.
Add a comment