21st-cli-use — Claude Code skill: what it does, how to install
Searches, retrieves, and installs React and shadcn components or SVG logos from the 21st.dev catalog using the 21st CLI. Activates when components.json is present.
npx skills add 21st-dev/skill --skill 21st-cli-use -a claude-codeWhat 21st-cli-use does
The skill instructs your coding agent to inspect the 21st.dev catalog via @21st-dev/cli before writing UI from scratch. Running 21st search locates components, themes, or templates. The 21st add <user>/<slug> command writes the resolved file directly to components/ui/<slug>.tsx and pulls required npm dependencies using your project's package manager.
Authentication happens via npx @21st-dev/cli login or an API key passed into TWENTYFIRST_TOKEN or API_KEY_21ST. Searching metadata, inspecting previews, fetching theme CSS, and pulling SVG brand logos via svgl.app are completely free. Code retrieval (21st get, 21st add) relies on a free daily quota unless you run a Builder plan.
Hosted component generation requires active AI credits. If 21st usage does not show AI generation enabled, running 21st generate throws ai_subscription_required — your agent must pull catalog code and adapt it locally instead.
What it helps with
- search React and shadcn UI components across the 21st.dev registry
- install registry components into
components/uiwith automatic dependency setup - print theme CSS or raw component code by ID directly into terminal context
- fetch SVG brand and UI logos without authentication using svgl.app
Example prompts for the agent
- search a pricing table component on 21st
- install our team's Button via 21st CLI
- pull that component's code using 21st get 143
How to install 21st-cli-use
1Skills CLI (Vercel)
npx skills add 21st-dev/skill --skill 21st-cli-use -a claude-code2Manually: put the files in place
~/.claude/skills/21st-cli-use/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/21st-cli-use/
1Skills CLI (Vercel)
npx skills add 21st-dev/skill --skill 21st-cli-use -a codex2Manually: put the files in place
.agents/skills/21st-cli-use/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add 21st-dev/skill --skill 21st-cli-use -a cursor2Manually: put the files in place
.cursor/skills/21st-cli-use/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install 21st-dev/skill 21st-cli-use2Manually: put the files in place
.github/skills/21st-cli-use/SKILL.md1Skills CLI (Vercel)
npx skills add 21st-dev/skill --skill 21st-cli-use -a gemini-cli2Platform CLI
gemini skills install https://github.com/21st-dev/skill --path skills/21st-cli-useManually: put the files in place
.devin/skills/21st-cli-use/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add 21st-dev/skill --skill 21st-cli-use -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about 21st-cli-use
How to install 21st-cli-use in Claude Code?
Run npx skills add 21st-dev/skill --skill 21st-cli-use -a claude-code. The file will be written to ~/.claude/skills/21st-cli-use/SKILL.md.
What does 21st-cli-use do?
It equips your agent with commands for @21st-dev/cli, allowing it to find UI components, pull raw React code, and install shadcn items directly into your codebase.
Does 21st-cli-use require a paid subscription?
Search, theme styles, previews, and logo fetches are free. Pulling component code uses a free daily quota, while AI generation via 21st generate requires a separate 21st AI subscription.
Source text
SKILL.md · Apache-2.0
--- name: 21st-cli-use description: >- 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. --- # 21st CLI — find, install & generate from the terminal The `21st` CLI (`npx @21st-dev/cli`, bin `21st`) is the command-line surface for the 21st.dev catalog. Search first, install what fits, and only hand-write UI when nothing matches. To **publish** your own components/themes/templates, use the `21st-registry` skill; to publish a project's design as a theme, use `21st-design-sync`. ## Auth (do this once) Two interchangeable credentials, both sent as the API key: 1. **Login session** — `npx @21st-dev/cli login` opens the browser and saves a token to `~/.config/21st/auth.json`. Best for interactive/dev machines. 2. **API key** — `21st_sk_…` from **https://21st.dev/mcp** (or **https://21st.dev/settings/api-keys**). Pass via `--api-key <key>` or the `TWENTYFIRST_TOKEN` / `API_KEY_21ST` env var. Best for CI. `21st whoami` shows the signed-in account; `21st usage` shows retrieval tier/quota and the `21st AI generation` status, not an AI credit balance. For structured status, use MCP `get_usage.aiGenerationEnabled` or CLI 1.17.1+ `21st usage --json`. Missing or unknown status does not grant AI access. `21st logout` clears the saved login. ## Metering Metadata (search, previews, a theme's CSS) is **free**. Retrieving component **code** (`21st get`, install) has a free daily quota; Builder includes unlimited retrieval. Hosted 21st AI requires separate AI access and consumes AI credits. Base Builder has AI off. Check `21st usage` before choosing generation: when AI is not explicitly enabled, search and retrieve code, then adapt it with your own coding agent. Do not retry a generation denied with `ai_subscription_required` until AI access is enabled. --- ## Find ```bash # Search everything (components + themes + templates) 21st search "pricing table" --limit 10 21st search button --type c # components only (c | theme | template) 21st search dark --type theme # Filters: --tag <slug> --color <bucket> --sort <s> --free|--paid # --author <username> --mine --liked --json for machine output ``` **Always search before hand-writing a component** — a close match is usually faster to install and adapt than to build from scratch. ## Logos ```bash 21st logo discord # search brand + UI SVG logos (free, no login) 21st logo "next js" --limit 5 --json ``` Prints each logo's name and SVG url(s) to curl straight into a project. Uses the open svgl.app library; free and unmetered on every plan. ## Pull code ```bash # Print a component's code + demo (by the id from search) 21st get 143 [--json] # Print a theme's CSS (by a theme id from `search --type theme`) 21st theme <id> [--json] ``` ## Install ```bash # Install a component into the current project (shadcn under the hood) 21st add <user>/<slug> # e.g. 21st add shadcn/button 21st add @<team>/<slug> # from a team library # --print to dump the shadcn command instead of running it ``` `21st add` resolves the registry item, writes it to `components/ui/<slug>.tsx`, and installs npm deps with the project's package manager. Public/unlisted items also work with stock shadcn: `npx shadcn@latest add "https://21st.dev/r/<user>/<slug>"`. ## Generate When nothing in the catalog fits and `21st usage` explicitly reports AI generation enabled, sketch it with hosted 21st AI and iterate from the terminal. That loop (`21st generate` → `generation` → `iterate` → `take`) lives in the **`21st-ai`** skill. With AI off, adapt catalog code locally instead: ```bash 21st generate "a glassy pricing section with a monthly/yearly toggle" ``` Opens a preview; from there you edit any variant and pull its code. See the `21st-ai` skill for the full generate/iterate/grab-code flow and metering. --- ## Bookmarks, teams & MCP config ```bash 21st bookmarks [--type component|theme|template] 21st bookmark <id> --type <kind> [--remove] # heart / un-heart 21st lists # your bookmark lists 21st list <listId> 21st teams # your teams 21st team <teamId> # a team's libraries 21st team-components <teamId> [--library <id>] 21st init --client cursor|claude|codex|vscode|devin [--write] # write MCP config 21st install-skill # install the 21st skills globally ```
© 21st-dev · Apache-2.0 · 21st-dev/skill