21st-dev/skill

21st-ai

- Generate and iterate on UI with 21st AI from the terminal via the 21st CLI (@21st-dev/cli): sketch a UI from a prompt, preview the variants in the browser, edit any variant in place with a natural-language change, and pull the final code into the project.

View source
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

21st AI — sketch, iterate & grab code from the terminal

21st AI is a fast UI-drafting board. Mental model: draft it here, then finish it — sketch a few variants from a prompt, preview them, refine the one you like with plain-English edits, and pull its code into the repo. The whole loop runs from the 21st CLI (or the matching MCP tools), so you never leave the editor.

Sketch mode produces self-contained HTML + Tailwind drafts (fast, no build). The recommended handoff is the copy-prompt: a spec that tells you to rebuild the design in the target project's real stack — not paste raw HTML verbatim.

Auth

Same credential as the rest of the CLI: 21st login (saved token) or a 21st_sk_ key via --api-key / TWENTYFIRST_TOKEN. 21st usage shows tier + remaining quota. (See the 21st-cli-use skill for the full auth notes.)

The loop

bash
# 1) Sketch — generate variants ("takes") from a prompt. Opens the preview in
#    the browser and prints the projectId.
21st generate "a pricing section with 3 tiers and a monthly/annual toggle"

# 2) List the takes (1-based numbers + whether each has rendered yet).
21st generation <projectId>

# 3) Edit ONE take in place with a natural-language change (PAID — see Metering).
21st iterate <projectId> "make it enterprise-flavored, add an annual toggle" --take 3

# 4) Grab the code to bring into the project (FREE).
21st take <projectId> --take 3            # paste-ready copy-prompt (recommended)
21st take <projectId> --take 3 --code     # raw self-contained HTML instead

Open the preview URL (printed by generate, and returned by iterate) in the editor's built-in browser to watch the variants render and update in place.

When to use which

  • generate — start fresh from a prompt. Returns a preview URL + projectId.
  • generation — list the takes so you know which --take N to act on.
  • iterate — refine an EXISTING take (edited in place; a new version is

appended, so you can step back in the workspace). Use this to change something already generated instead of starting over.

  • take — pull a take's code. Default prints the copy-prompt (adapt-to-my-

stack spec); --code prints the raw HTML. Both FREE and unlimited.

Metering

  • generate — small free daily bucket, then a paywall (21st usage shows

what's left). Community access / membership lifts it.

  • iterate — billed by real token cost per edit (the shared 21st AI credit

pool); it does real model work each call, so batch changes into one clear instruction rather than many tiny ones.

  • generation (listing) and take (grabbing code) are FREE.

MCP parity

The same loop is exposed as MCP tools for MCP hosts (Cursor, Claude Desktop, Claude Code): generate (with mode: "sketch"), get_generation, iterate_generation and get_take. iterate_generation also returns the freshly-edited html + copyPrompt, so you can grab the code without a second call. Wire up the server with 21st init --client <name> --write.

Tips

  • A sketch is a draft, not production code — treat the copy-prompt as a

design spec and rebuild it in the project's real components; don't paste the HTML as-is.

  • Refer to takes by the 1-based number from generation / the "Take N" label in

the preview. --take must be a whole number ≥ 1 (a bad value errors rather than silently editing take 1).

  • Only sketch generations you created can be listed, edited, or fetched.
from this repository

More skills

All skills
21st-dev
Community

21st-cli-use

- Search, install and pull code from the 21st.dev catalog with the 21st CLI (@21st-dev/cli): find React/shadcn components, themes and templates, print a component's code or a theme's CSS, install an item into the project, or generate a new component with 21st AI. Use whenever the user says "search/find a component/theme on 21st", "install our team's Button", "add @user/slug", "pull that component's code", "найди компонент на 21st", "поставь наш компонент", or wants to script catalog access from the shell/CI. Auto-activate when a project has a components.json — search 21st before hand-writing UI.

installs
1
GitHub stars
4
Updated
Aug 26
21st-dev
Community

21st-design-sync

- Look at the current project's design (its shadcn / Tailwind CSS variables and color tokens) and publish it to the 21st.dev community as a shareable theme, using 21st publish-theme. Use when the user says "publish my theme", "share our design as a 21st theme", "sync my design to 21st", "turn my globals.css into a theme", "залей наш дизайн темой", "опубликуй тему". This is the 21st equivalent of design-sync: it reads the project's design tokens and syncs them into the public theme library.

installs
1
GitHub stars
4
Updated
Aug 26
21st-dev
Community

21st-registry

- Publish your own work to 21st.dev and manage it from the terminal with the 21st CLI (@21st-dev/cli): publish a React component to a team library, publish a CSS theme or a template listing, edit / unpublish / delete your published items, list and reopen existing component work, and read/replace your public profile page (bento board). Triggers when the user says "publish/share/upload this to 21st", "залей в наш регистр", "опубликуй компонент/тему/темплейт", "share with team", "make this reusable", "unpublish/edit/delete my component", "change its visibility", "find/open my old component or draft", "найди/открой мой старый компонент или драфт", "add this to my 21st profile/bento", "update my profile page", "обнови мой профиль на 21st", "добавь блок в бенто", "add controls/knobs to my demo", "сделай демо с контролами". For finding and installing existing items use 21st-cli-use; for turning a project's design tokens into a theme use 21st-design-sync.

installs
1
GitHub stars
4
Updated
Aug 26
21st-dev
Community

21st-ui-build

Build or substantially change production UI using the current project's design context, existing components, and grounded 21st inspiration. Use when implementing a page, section, component, responsive redesign, or visual polish in an existing web project. Trigger for requests such as "build this UI", "implement this screen", "make this page production-ready", or "use 21st to create the interface". Use 21st-ui-explore first when the visual direction is intentionally undecided, and 21st-ui-review for critique-only work.

installs
1
GitHub stars
4
Updated
Aug 26