ork-assess
Assess a code change, design, architecture, workflow, or competing options against explicit criteria and evidence. Use when a…
Searches the 21st.dev registry for production React components, ranked with install steps. Use when looking for a UI component or an alternative to one.
Claude Code
$ npx -y skills add yonatangross/orchestkit --skill component-search --agent claude-code
Codex
$ npx skills add yonatangross/orchestkit --skill component-search -a codex -y
Cursor
$ npx skills add yonatangross/orchestkit --skill component-search -a cursor -y
Gemini CLI
$ npx skills add yonatangross/orchestkit --skill component-search -a gemini-cli -y
GitHub Copilot
$ npx skills add yonatangross/orchestkit --skill component-search -a github-copilot -y
OpenCode
$ npx skills add yonatangross/orchestkit --skill component-search -a opencode -y
Windsurf
$ npx skills add yonatangross/orchestkit --skill component-search -a windsurf -y
name: component-search
license: MIT
compatibility: "Claude Code 2.1.277+. Optional: 21st-dev-magic MCP server."
description: "Searches the 21st.dev registry for production React components, ranked with install steps. Use when looking for a UI component or an alternative to one."
argument-hint: "[component description]"
context: fork
# user-typed commands stay interactive; CC >= 2.1.218 backgrounds forks by default (#3093)
background: false
user-invocable: true
effort: low
model: sonnet
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"
# 21st-dev-magic MCP. Without these the skill CANNOT reach the server it is
# named after and silently degrades to the WebSearch/WebFetch scrape below.
# Read-only surface by design: the catalog-mutating tools (submit_component,
# edit_component, delete_*, bookmark writes) are deliberately NOT granted —
# a search skill has no business publishing to or deleting from the registry.
metadata:
category: workflow-automation
mcp-server: 21st-dev-magic
version: "1.1.0"
author: "OrchestKit"
complexity: "simple"
tags: "components, 21st-dev, react, ui, search, registry, tailwind, shadcn"
triggers:
keywords: ["component search", "find component", "search components", "ui component", "react component", "21st.dev"]
examples:
- "search for a date picker component"
- "find a modal component for React"
- "are there any good table components on 21st.dev"
anti-triggers: [implement, build, design, explore, brainstorm]Search 21st.dev's registry of production-ready React components. Returns ranked results with code, previews, and install instructions.
component-search animated pricing table component-search sidebar with collapsible sections component-search dark mode toggle switch
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
└──────────────────────────────┘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**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):**
# 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>)command, **stop after step 1** — search already answered it.
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.
`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).
| tier | `get_component` | |---|---| | `free` | **2 / day** — treat each retrieval as the day's budget: never speculative, never in a loop, never "to compare" | | `paid` | unlimited — 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
The Complete AI Development Toolkit for Claude Code. 115 skills, 36 agents, 163 hooks. Install `ork` for stable (v10.x).
Assess a code change, design, architecture, workflow, or competing options against explicit criteria and evidence. Use when a…
Compare plausible implementation, architecture, product, or operational approaches before committing to one. Use when a request…
Map an unfamiliar codebase, feature, architecture, data flow, or operational path with file-backed evidence. Use when a request…
Render an answer inline as compact ASCII or box-drawing art with semantic status icons. Use for status, inventories, budgets,…
Make an approved, scoped change and prove the affected behavior. Use when a request asks to implement, build, add, or land a…
Review a pull request or branch for correctness, regressions, security, operational risk, and missing evidence. Use when a…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.