Agent skill

Component Search

by yonatangross in yonatangross/orchestkit

Search 21st.dev component registry for production-ready React components.

MITAuto-check passedFrontend & Design

Install Component Search

skills CLI
$ npx skills add yonatangross/orchestkit --skill component-search -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install yonatangross/orchestkit component-search --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/skills/component-search .claude/skills/component-search && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
component-search
GitHub stars
289
Token cost
~2.3k tokens
SKILL.md length
516 words
Files
2
Skills in repo
108
Repo updated
First seen
Licence
MIT

At a glance

Search 21st.dev component registry for production-ready React components.

  • Works in 4 steps: Parse Query → Search Registry → Present Results → …
  • Looking for UI components
  • SKILL.md covers How It Works, Step 0: Parse Query, Step 1: Search Registry and Step 2: Present Results, plus 3 more sections
  • Calls npx and npm; reaches 21st.dev; needs TWENTY_FIRST_API_KEY

What it does

Component Search is an agent skill from yonatangross/orchestkit. Search 21st.dev component registry for production-ready React components. Finds components by natural language description, filters by framework and style system, returns ranked results with install instructions. Use when looking for UI components, finding alternatives to existing components, or sourcing design system building blocks.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `test-cases.json`). Compatibility notes: Claude Code 2.1.277+. Optional: 21st-dev-magic MCP server.

It sits in Frontend & Design, covering Design systems and React components. It works with Model Context Protocol. The repository describes itself as: The Complete AI Development Toolkit for Claude Code. 106 skills, 36 agents, 171 hooks. Install ork for stable (v9.x), or ork-alpha for the v10 line, which ships daily. The licence is MIT.

When your agent uses it

  • Looking for UI components
  • Finding alternatives to existing components
  • Sourcing design system building blocks

Example prompts

  • “/component-search”

Requirements

  • Python 3
  • Node.js
  • A credential in TWENTY_FIRST_API_KEY
  • Compatibility (from SKILL.md): Claude Code 2.1.277+. Optional: 21st-dev-magic MCP server.
  • Pre-approved tools (allowed-tools): Read, Glob, Grep, WebFetch, WebSearch, AskUserQuestion, TaskCreate, TaskUpdate, mcp__21st-dev-magic__search_picker, mcp__21st-dev-magic__search, mcp__21st-dev-magic__get_component, mcp__21st-dev-magic__get_theme, mcp__21st-dev-magic__search_logo, mcp__21st-dev-magic__get_usage, TaskList

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Parse Query
  2. Search Registry
  3. Present Results
  4. Deliver Component

What it can do on your machine

Read from SKILL.md and the folder at commit 0ef71d2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Glob
    • Grep
    • WebFetch
    • WebSearch
    • AskUserQuestion
    • TaskCreate
    • TaskUpdate
    • mcp__21st-dev-magic__search_picker
    • mcp__21st-dev-magic__search

    …and 5 more on the same allowed-tools line.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • 21st.dev

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • TWENTY_FIRST_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Claude Code 2.1.277+. Optional: 21st-dev-magic MCP server.

    From compatibility in the SKILL.md frontmatter.

Context cost

Component Search loads about 2.3k tokens when it runs. Until then it costs about 88 tokens; SKILL.md has 516 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~88
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from yonatangross/orchestkit at commit 0ef71d2, republished under its MIT licence (© yonatangross). 516 words, ~2,306 tokens.

Download SKILL.mdSave it as .claude/skills/component-search/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
component-search
description
Search 21st.dev component registry for production-ready React components. Finds components by natural language description, filters by framework and style system, returns ranked results with install instructions. Use when looking for UI components, finding alternatives to existing components, or sourcing design system building blocks.
allowed-tools
Read, Glob, Grep, WebFetch, WebSearch, AskUserQuestion, TaskCreate, TaskUpdate, mcp__21st-dev-magic__search_picker, mcp__21st-dev-magic__search, mcp__21st-dev-magic__get_component, mcp__21st-dev-magic__get_theme, mcp__21st-dev-magic__search_logo, mcp__21st-dev-magic__get_usage, TaskList
compatibility
Claude Code 2.1.277+. Optional: 21st-dev-magic MCP server.
license
MIT
argument-hint
[component description]
context
fork
background
false
user-invocable
true
effort
low
model
sonnet
metadata.category
workflow-automation
metadata.mcp-server
21st-dev-magic
metadata.version
1.1.0

Search 21st.dev's registry of production-ready React components. Returns ranked results with code, previews, and install instructions.

bash
component-search animated pricing table
component-search sidebar with collapsible sections
component-search dark mode toggle switch

How It Works

Query: "animated pricing table with monthly/annual toggle"
  │
  ▼
┌──────────────────────────────┐
│ 21st.dev Magic MCP           │  Search the 21st.dev developer registry
│ @21st-dev/magic              │  Filter: React, Tailwind, shadcn
└──────────┬───────────────────┘
           │
           ▼
┌──────────────────────────────┐
│ Results (ranked by relevance)│
│                              │
│ 1. PricingToggle (98% match) │  ★ 2.3K views · shadcn/ui
│ 2. PricingCards (87% match)  │  ★ 1.8K views · Radix
│ 3. AnimatedPricing (82%)     │  ★ 950 views · Motion
└──────────────────────────────┘

Step 0: Parse Query

python
QUERY = ""  # Component description

# 1. Create main task IMMEDIATELY
TaskCreate(subject="Component search: {QUERY}", description="Search 21st.dev registry", activeForm="Searching for {QUERY}")

# 2. Create subtasks for each phase
TaskCreate(subject="Parse query and detect project context", activeForm="Detecting project context")  # id=2
TaskCreate(subject="Search component registry", activeForm="Searching registry")                      # id=3
TaskCreate(subject="Present and deliver results", activeForm="Presenting results")                    # id=4

# 3. Set dependencies for sequential phases
TaskUpdate(taskId="3", addBlockedBy=["2"])  # Search needs project context first
TaskUpdate(taskId="4", addBlockedBy=["3"])  # Results need search done

# 4. Update status as you progress
TaskUpdate(taskId="2", status="in_progress")  # When starting
TaskUpdate(taskId="2", status="completed")    # When done — repeat for each subtask

# Detect project context for framework filtering
Glob("**/package.json")
# Read to determine: React version, Tailwind, shadcn/ui, styling approach

# Detect shadcn/ui style for result ranking
Glob("**/components.json")
# Read → "style" field (e.g., "radix-luma", "base-nova")
# Used to prefer components matching the project's visual language

Step 1: Search Registry

Browse first, and let the USER pick

The reason is choice, not cost. Search returns a preview image, a video, the author and the installCommand — enough for a human to recognise the right component at a glance. The model cannot. Guessing which of eight "command palette" results the user meant is the failure mode this flow exists to prevent, and it stays a failure mode on every pricing tier.

If 21st-dev-magic MCP is available (the real path):

python
# 1. BROWSE. Prefer search_picker: same params and results as search, but it
#    renders an inline picker so the USER chooses. Do not pre-filter to one
#    result on their behalf — show the options.
mcp__21st-dev-magic__search_picker(query="{QUERY}", type="component", limit=8)

# 2. PICK — the user selects. Stop here and wait.

# 3. RETRIEVE — the chosen component.
mcp__21st-dev-magic__get_component(id=<demo id from the chosen result>)
  • If the user only needs to know whether something exists, or wants the install command, stop after step 1 — search already answered it.
  • search returns an installCommand containing ?api_key=$API_KEY_21ST. That is a different env var from the MCP's TWENTY_FIRST_API_KEY; if npx shadcn add fails auth, that variable is missing from the environment.
Tier — check it, do not assume it

get_component is the only metered tool; search, search_picker, search_logo, get_theme and every list/metadata tool are unmetered on all tiers.

Call get_usage rather than assuming a cap. It returns tier plus freeRetrievalsRemaining (both null when unlimited).

tierget_component
free2 / day — treat each retrieval as the day's budget: never speculative, never in a loop, never "to compare"
paidunlimited — comparing two candidates is fine; the picker step still applies

Written 2026-08-16 against a free account and corrected 2026-08-17 when the account went paid: the original text argued the flow from the 2/day cap, which made it read as obsolete the moment the cap lifted. The cap is a constraint; letting the user choose is the design.

If 21st-dev-magic is NOT available (fallback):

python
# Genuine fallback ONLY — scraping returns no ids, no install commands, and
# no structured metadata. If the MCP is configured, you should never be here.
WebSearch("site:21st.dev {QUERY} React component")
# Or browse the registry
WebFetch("https://21st.dev", "Search for: {QUERY}")

Alternative generation path — v0.app MCP (2026): When the registry doesn't have a matching component, fall back to AI generation via the v0.app MCP server rather than WebFetch scraping:

python
# If @vercel/v0-mcp is available
# v0.app generates from the same query and can pin to shadcn style
# (e.g., luma / nova / lyra) via `shadcn apply` after download.

This is a generation path, not a registry search — results will not have view counts or stars. Prefer registry search when possible so you get battle-tested components; use v0.app only when the registry misses.

Show full SKILL.md (168 more words)Show less

Step 2: Present Results

Show top 3 matches with:

  • Component name and description
  • Match relevance score
  • Popularity (views/bookmarks)
  • Framework compatibility
  • Preview (if available)
  • Install command
python
AskUserQuestion(questions=[{
  "question": "Which component to use?",
  "header": "Component",
  "options": [
    {"label": "{name_1} (Recommended)", "description": "{desc_1} — {views_1} views"},
    {"label": "{name_2}", "description": "{desc_2} — {views_2} views"},
    {"label": "{name_3}", "description": "{desc_3} — {views_3} views"},
    {"label": "None — generate from scratch", "description": "Build a custom component instead"}
  ],
  "multiSelect": false
}])

Step 3: Deliver Component

For the selected component:

  1. Show the full source code
  2. List dependencies (npm install commands)
  3. Note any required peer dependencies (Radix, Motion, etc.)
  4. Highlight customization points (props, tokens, slots)

Framework Compatibility

Project StackSearch FilterNotes
React + TailwindDefault — best coverageMost 21st.dev components
React + CSS ModulesFilter non-TailwindFewer results
Next.js App RouterPrefer RSC-compatibleCheck "use client" directives
Vue / SvelteNot supported21st.dev is React-only
shadcn/ui styleMatch visual languageLuma→rounded/pill, Nova→compact, Lyra→sharp

shadcn v4 style awareness: When components.json has a style (e.g., "radix-luma"), prefer components whose visual language matches — rounded pill shapes for Luma, dense layouts for Nova/Mira, sharp edges for Lyra. Components can be adapted post-install, but a closer match reduces customization work.

  • ork:design-to-code — Full mockup-to-component pipeline (uses this skill)
  • ork:design-system-tokens — Adapt components to project tokens
  • ork:ui-components — Component library patterns

© yonatangross, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in src/skills/component-search of yonatangross/orchestkit.

  • SKILL.md
  • test-cases.json

Open the folder on GitHubat commit 0ef71d2

Compare with similar skills

Component Search next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Component Search compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Component Search this skillyonatangross/orchestkit289—~2.3kAutomated safety check: PassMIT
Wonder BlocksKhan/wonder-blocks163—~3.2kAutomated safety check: PassMIT
Integrating shadcn/ui Componentsgoogle-labs-code/stitch-skills8.4k4 repos~2.3kAutomated safety check: NotesApache-2.0
Figma use_figma Plugin API Ruleswarpdotdev/warp65k4 repos~4.4kAutomated safety check: PassAGPL-3.0
Creative Tim UI Blockscreativetimofficial/ui12k—~2.1kAutomated safety check: NotesMIT
Activepieces Design Systemactivepieces/activepieces25k—~3.6kAutomated safety check: PassCustom licence

Similar skills

  • Wonder Blocks

    Khan/wonder-blocks

    Implements user interfaces using the Wonder Blocks (WB) design system — Khan Academy's React component library.

    163 GitHub stars~3.2k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Integrating shadcn/ui Components

    google-labs-code/stitch-skills

    Official

    Guides finding, installing, customizing and wiring up shadcn/ui components in a project, with MCP tools for the component catalog and registries.

    8.4k GitHub starsUsed in 4 repos~2.3k tokens
    Frontend & DesignAuto-check: notes
  • Required groundwork before any use_figma call: the rules and reference files for running JavaScript in a Figma file through the Plugin API without common failures.

    65k GitHub starsUsed in 4 repos~4.4k tokens
    Frontend & DesignAuto-check passed
  • Creative Tim UI Blocks

    creativetimofficial/ui

    Helps install, generate and review Creative Tim UI blocks: shadcn/ui-based React and Tailwind sections that follow a restrained, production-minded design philosophy.

    12k GitHub stars~2.1k tokensUpdated 6 mo ago
    Frontend & DesignAuto-check: notes
  • Activepieces Design System

    activepieces/activepieces

    Design system for Activepieces (open-source AI automation platform, "open source replacement for Zapier").

    25k GitHub stars~3.6k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Maps published Figma components to their code implementations with Code Connect, using the Figma MCP suggestion and mapping tools.

    65k GitHub starsUsed in 2 repos~4.2k tokens
    Frontend & DesignAuto-check passed

More from yonatangross/orchestkit

All 108 skills in this repo
  • API Design

    yonatangross/orchestkit

    API contract design for REST and GraphQL, covering resource shape, URL and header versioning with deprecation windows, RFC 9457 Problem Details error handling, and OpenAPI specs.

    289 GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed
  • Architecture Decision Record

    yonatangross/orchestkit

    ADR templates in the Nygard format with context, decision, consequences, and alternatives.

    289 GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Audit Full

    yonatangross/orchestkit

    Single-pass codebase analysis leveraging a 1M-token context window for comprehensive security scanning, architecture review, and dependency auditing.

    289 GitHub stars~3.5k tokensUpdated yesterday
    Auto-check: notes
  • Code Review Playbook

    yonatangross/orchestkit

    Structured review processes, conventional comments, language-specific checklists, and feedback templates.

    289 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Create PR

    yonatangross/orchestkit

    Creates GitHub pull requests with pre-flight validation, conventional title formatting, and structured summary generation.

    289 GitHub stars~4.5k tokensUpdated yesterday
    Auto-check: notes
  • Explore

    yonatangross/orchestkit

    Multi-angle codebase exploration spawning 3-5 parallel agents for code structure, data flow, architecture patterns, and health assessment.

    289 GitHub stars~3.9k tokensUpdated yesterday
    Auto-check: notes

Questions about Component Search

What does Component Search do?

Search 21st.dev component registry for production-ready React components. Component Search is an agent skill from yonatangross/orchestkit.dev component registry for production-ready React components.

When should I use Component Search?

Component Search fits situations like: looking for UI components; finding alternatives to existing components; sourcing design system building blocks.

How do I install Component Search in Claude Code?

Run `npx skills add yonatangross/orchestkit --skill component-search -a claude-code`. Or copy the skill folder (src/skills/component-search in yonatangross/orchestkit) into .claude/skills/component-search in your project. Claude Code loads it when a task matches its description.

How do I install Component Search in Codex?

Run `npx skills add yonatangross/orchestkit --skill component-search -a codex`. Or copy the skill folder (src/skills/component-search in yonatangross/orchestkit) into .agents/skills/component-search in your project. Codex loads it when a task matches its description.

Can I use Component Search in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add yonatangross/orchestkit --skill component-search -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/component-search, .gemini/skills/component-search, .github/skills/component-search and .opencode/skills/component-search in your project.

What does Component Search need to run?

Going by SKILL.md and its folder, Component Search needs the command-line tools its instructions call (npx and npm) and credentials named TWENTY_FIRST_API_KEY. Our summary lists: Python 3; Node.js; A credential in TWENTY_FIRST_API_KEY. Its frontmatter pre-approves these tools: Read, Glob, Grep, WebFetch, WebSearch, AskUserQuestion, TaskCreate, TaskUpdate, mcp__21st-dev-magic__search_picker, mcp__21st-dev-magic__search, mcp__21st-dev-magic__get_component, mcp__21st-dev-magic__get_theme, mcp__21st-dev-magic__search_logo, mcp__21st-dev-magic__get_usage, TaskList. Compatibility (from SKILL.md): Claude Code 2.1.277+. Optional: 21st-dev-magic MCP server..

Does Component Search access the network?

SKILL.md names 1 domain. In commands or code: 21st.dev; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Component Search safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Component Search use?

Component Search is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Component Search use?

About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Component Search?

Skills that share tags, products or a category with Component Search: Wonder Blocks (Khan/wonder-blocks, 163 stars), Integrating shadcn/ui Components (google-labs-code/stitch-skills, 8.4k stars), Figma use_figma Plugin API Rules (warpdotdev/warp, 65k stars) and Creative Tim UI Blocks (creativetimofficial/ui, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Component Search?

yonatangross (a GitHub user) maintains it in yonatangross/orchestkit, which has 289 GitHub stars. The repository holds 108 skills in this directory. The repository was last updated on October 7, 2026.

Source: yonatangross/orchestkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.