{"id":"5a0297d1-a11a-45ac-8cc4-0df2b78b83a9","shortId":"YSnrF8","kind":"skill","title":"shadcn","tagline":"Manages shadcn/ui components and projects, providing context, documentation, and usage patterns for building modern design systems.","description":"# shadcn/ui\n\nA framework for building ui, components and design systems. Components are added as source code to the user's project via the CLI.\n\n> **IMPORTANT:** Run all CLI commands using the project's package runner: `npx shadcn@latest`, `pnpm dlx shadcn@latest`, or `bunx --bun shadcn@latest` — based on the project's `packageManager`. Examples below use `npx shadcn@latest` but substitute the correct runner for the project.\n\n## When to Use\n- Use when adding new components from shadcn/ui or community registries.\n- Use when styling, composing, or debugging existing shadcn/ui components.\n- Use when initializing a new project or switching design system presets.\n- Use to retrieve component documentation, examples, and API references.\n\n## Current Project Context\n\n```json\n!`npx shadcn@latest info --json 2>/dev/null || echo '{\"error\": \"No shadcn project found. Run shadcn init first.\"}'`\n```\n\nThe JSON above contains the project config and installed components. Use `npx shadcn@latest docs <component>` to get documentation and example URLs for any component.\n\n## Principles\n\n1. **Use existing components first.** Use `npx shadcn@latest search` to check registries before writing custom UI. Check community registries too.\n2. **Compose, don't reinvent.** Settings page = Tabs + Card + form controls. Dashboard = Sidebar + Card + Chart + Table.\n3. **Use built-in variants before custom styles.** `variant=\"outline\"`, `size=\"sm\"`, etc.\n4. **Use semantic colors.** `bg-primary`, `text-muted-foreground` — never raw values like `bg-blue-500`.\n\n## Critical Rules\n\nThese rules are **always enforced**. Each links to a file with Incorrect/Correct code pairs.\n\n### Styling & Tailwind → [styling.md](./rules/styling.md)\n\n- **`className` for layout, not styling.** Never override component colors or typography.\n- **No `space-x-*` or `space-y-*`.** Use `flex` with `gap-*`. For vertical stacks, `flex flex-col gap-*`.\n- **Use `size-*` when width and height are equal.** `size-10` not `w-10 h-10`.\n- **Use `truncate` shorthand.** Not `overflow-hidden text-ellipsis whitespace-nowrap`.\n- **No manual `dark:` color overrides.** Use semantic tokens (`bg-background`, `text-muted-foreground`).\n- **Use `cn()` for conditional classes.** Don't write manual template literal ternaries.\n- **No manual `z-index` on overlay components.** Dialog, Sheet, Popover, etc. handle their own stacking.\n\n### Forms & Inputs → [forms.md](./rules/forms.md)\n\n- **Forms use `FieldGroup` + `Field`.** Never use raw `div` with `space-y-*` or `grid gap-*` for form layout.\n- **`InputGroup` uses `InputGroupInput`/`InputGroupTextarea`.** Never raw `Input`/`Textarea` inside `InputGroup`.\n- **Buttons inside inputs use `InputGroup` + `InputGroupAddon`.**\n- **Option sets (2–7 choices) use `ToggleGroup`.** Don't loop `Button` with manual active state.\n- **`FieldSet` + `FieldLegend` for grouping related checkboxes/radios.** Don't use a `div` with a heading.\n- **Field validation uses `data-invalid` + `aria-invalid`.** `data-invalid` on `Field`, `aria-invalid` on the control. For disabled: `data-disabled` on `Field`, `disabled` on the control.\n\n### Component Structure → [composition.md](./rules/composition.md)\n\n- **Items always inside their Group.** `SelectItem` → `SelectGroup`. `DropdownMenuItem` → `DropdownMenuGroup`. `CommandItem` → `CommandGroup`.\n- **Use `asChild` (radix) or `render` (base) for custom triggers.** Check `base` field from `npx shadcn@latest info`. → [base-vs-radix.md](./rules/base-vs-radix.md)\n- **Dialog, Sheet, and Drawer always need a Title.** `DialogTitle`, `SheetTitle`, `DrawerTitle` required for accessibility. Use `className=\"sr-only\"` if visually hidden.\n- **Use full Card composition.** `CardHeader`/`CardTitle`/`CardDescription`/`CardContent`/`CardFooter`. Don't dump everything in `CardContent`.\n- **Button has no `isPending`/`isLoading`.** Compose with `Spinner` + `data-icon` + `disabled`.\n- **`TabsTrigger` must be inside `TabsList`.** Never render triggers directly in `Tabs`.\n- **`Avatar` always needs `AvatarFallback`.** For when the image fails to load.\n\n### Use Components, Not Custom Markup → [composition.md](./rules/composition.md)\n\n- **Use existing components before custom markup.** Check if a component exists before writing a styled `div`.\n- **Callouts use `Alert`.** Don't build custom styled divs.\n- **Empty states use `Empty`.** Don't build custom empty state markup.\n- **Toast via `sonner`.** Use `toast()` from `sonner`.\n- **Use `Separator`** instead of `<hr>` or `<div className=\"border-t\">`.\n- **Use `Skeleton`** for loading placeholders. No custom `animate-pulse` divs.\n- **Use `Badge`** instead of custom styled spans.\n\n### Icons → [icons.md](./rules/icons.md)\n\n- **Icons in `Button` use `data-icon`.** `data-icon=\"inline-start\"` or `data-icon=\"inline-end\"` on the icon.\n- **No sizing classes on icons inside components.** Components handle icon sizing via CSS. No `size-4` or `w-4 h-4`.\n- **Pass icons as objects, not string keys.** `icon={CheckIcon}`, not a string lookup.\n\n### CLI\n\n- **Never decode or fetch preset codes manually.** Pass them directly to `npx shadcn@latest init --preset <code>`.\n\n## Key Patterns\n\nThese are the most common patterns that differentiate correct shadcn/ui code. For edge cases, see the linked rule files above.\n\n```tsx\n// Form layout: FieldGroup + Field, not div + Label.\n<FieldGroup>\n  <Field>\n    <FieldLabel htmlFor=\"email\">Email</FieldLabel>\n    <Input id=\"email\" />\n  </Field>\n</FieldGroup>\n\n// Validation: data-invalid on Field, aria-invalid on the control.\n<Field data-invalid>\n  <FieldLabel>Email</FieldLabel>\n  <Input aria-invalid />\n  <FieldDescription>Invalid email.</FieldDescription>\n</Field>\n\n// Icons in buttons: data-icon, no sizing classes.\n<Button>\n  <SearchIcon data-icon=\"inline-start\" />\n  Search\n</Button>\n\n// Spacing: gap-*, not space-y-*.\n<div className=\"flex flex-col gap-4\">  // correct\n<div className=\"space-y-4\">           // wrong\n\n// Equal dimensions: size-*, not w-* h-*.\n<Avatar className=\"size-10\">   // correct\n<Avatar className=\"w-10 h-10\"> // wrong\n\n// Status colors: Badge variants or semantic tokens, not raw colors.\n<Badge variant=\"secondary\">+20.1%</Badge>    // correct\n<span className=\"text-emerald-600\">+20.1%</span> // wrong\n```\n\n## Component Selection\n\n| Need                       | Use                                                                                                 |\n| -------------------------- | --------------------------------------------------------------------------------------------------- |\n| Button/action              | `Button` with appropriate variant                                                                   |\n| Form inputs                | `Input`, `Select`, `Combobox`, `Switch`, `Checkbox`, `RadioGroup`, `Textarea`, `InputOTP`, `Slider` |\n| Toggle between 2–5 options | `ToggleGroup` + `ToggleGroupItem`                                                                   |\n| Data display               | `Table`, `Card`, `Badge`, `Avatar`                                                                  |\n| Navigation                 | `Sidebar`, `NavigationMenu`, `Breadcrumb`, `Tabs`, `Pagination`                                     |\n| Overlays                   | `Dialog` (modal), `Sheet` (side panel), `Drawer` (bottom sheet), `AlertDialog` (confirmation)       |\n| Feedback                   | `sonner` (toast), `Alert`, `Progress`, `Skeleton`, `Spinner`                                        |\n| Command palette            | `Command` inside `Dialog`                                                                           |\n| Charts                     | `Chart` (wraps Recharts)                                                                            |\n| Layout                     | `Card`, `Separator`, `Resizable`, `ScrollArea`, `Accordion`, `Collapsible`                          |\n| Empty states               | `Empty`                                                                                             |\n| Menus                      | `DropdownMenu`, `ContextMenu`, `Menubar`                                                            |\n| Tooltips/info              | `Tooltip`, `HoverCard`, `Popover`                                                                   |\n\n## Key Fields\n\nThe injected project context contains these key fields:\n\n- **`aliases`** → use the actual alias prefix for imports (e.g. `@/`, `~/`), never hardcode.\n- **`isRSC`** → when `true`, components using `useState`, `useEffect`, event handlers, or browser APIs need `\"use client\"` at the top of the file. Always reference this field when advising on the directive.\n- **`tailwindVersion`** → `\"v4\"` uses `@theme inline` blocks; `\"v3\"` uses `tailwind.config.js`.\n- **`tailwindCssFile`** → the global CSS file where custom CSS variables are defined. Always edit this file, never create a new one.\n- **`style`** → component visual treatment (e.g. `nova`, `vega`).\n- **`base`** → primitive library (`radix` or `base`). Affects component APIs and available props.\n- **`iconLibrary`** → determines icon imports. Use `lucide-react` for `lucide`, `@tabler/icons-react` for `tabler`, etc. Never assume `lucide-react`.\n- **`resolvedPaths`** → exact file-system destinations for components, utils, hooks, etc.\n- **`framework`** → routing and file conventions (e.g. Next.js App Router vs Vite SPA).\n- **`packageManager`** → use this for any non-shadcn dependency installs (e.g. `pnpm add date-fns` vs `npm install date-fns`).\n\nSee [cli.md — `info` command](./cli.md) for the full field reference.\n\n## Component Docs, Examples, and Usage\n\nRun `npx shadcn@latest docs <component>` to get the URLs for a component's documentation, examples, and API reference. Fetch these URLs to get the actual content.\n\n```bash\nnpx shadcn@latest docs button dialog select\n```\n\n**When creating, fixing, debugging, or using a component, always run `npx shadcn@latest docs` and fetch the URLs first.** This ensures you're working with the correct API and usage patterns rather than guessing.\n\n## Workflow\n\n1. **Get project context** — already injected above. Run `npx shadcn@latest info` again if you need to refresh.\n2. **Check installed components first** — before running `add`, always check the `components` list from project context or list the `resolvedPaths.ui` directory. Don't import components that haven't been added, and don't re-add ones already installed.\n3. **Find components** — `npx shadcn@latest search`.\n4. **Get docs and examples** — run `npx shadcn@latest docs <component>` to get URLs, then fetch them. Use `npx shadcn@latest view` to browse registry items you haven't installed. To preview changes to installed components, use `npx shadcn@latest add --diff`.\n5. **Install or update** — `npx shadcn@latest add`. When updating existing components, use `--dry-run` and `--diff` to preview changes first (see [Updating Components](#updating-components) below).\n6. **Fix imports in third-party components** — After adding components from community registries (e.g. `@bundui`, `@magicui`), check the added non-UI files for hardcoded import paths like `@/components/ui/...`. These won't match the project's actual aliases. Use `npx shadcn@latest info` to get the correct `ui` alias (e.g. `@workspace/ui/components`) and rewrite the imports accordingly. The CLI rewrites imports for its own UI files, but third-party registry components may use default paths that don't match the project.\n7. **Review added components** — After adding a component or block from any registry, **always read the added files and verify they are correct**. Check for missing sub-components (e.g. `SelectItem` without `SelectGroup`), missing imports, incorrect composition, or violations of the [Critical Rules](#critical-rules). Also replace any icon imports with the project's `iconLibrary` from the project context (e.g. if the registry item uses `lucide-react` but the project uses `hugeicons`, swap the imports and icon names accordingly). Fix all issues before moving on.\n8. **Registry must be explicit** — When the user asks to add a block or component, **do not guess the registry**. If no registry is specified (e.g. user says \"add a login block\" without specifying `@shadcn`, `@tailark`, etc.), ask which registry to use. Never default to a registry on behalf of the user.\n9. **Switching presets** — Ask the user first: **reinstall**, **merge**, or **skip**?\n   - **Reinstall**: `npx shadcn@latest init --preset <code> --force --reinstall`. Overwrites all components.\n   - **Merge**: `npx shadcn@latest init --preset <code> --force --no-reinstall`, then run `npx shadcn@latest info` to list installed components, then for each installed component use `--dry-run` and `--diff` to [smart merge](#updating-components) it individually.\n   - **Skip**: `npx shadcn@latest init --preset <code> --force --no-reinstall`. Only updates config and CSS, leaves components as-is.\n\n## Updating Components\n\nWhen the user asks to update a component from upstream while keeping their local changes, use `--dry-run` and `--diff` to intelligently merge. **NEVER fetch raw files from GitHub manually — always use the CLI.**\n\n1. Run `npx shadcn@latest add <component> --dry-run` to see all files that would be affected.\n2. For each file, run `npx shadcn@latest add <component> --diff <file>` to see what changed upstream vs local.\n3. Decide per file based on the diff:\n   - No local changes → safe to overwrite.\n   - Has local changes → read the local file, analyze the diff, and apply upstream updates while preserving local modifications.\n   - User says \"just update everything\" → use `--overwrite`, but confirm first.\n4. **Never use `--overwrite` without the user's explicit approval.**\n\n## Quick Reference\n\n```bash\n# Create a new project.\nnpx shadcn@latest init --name my-app --preset base-nova\nnpx shadcn@latest init --name my-app --preset a2r6bw --template vite\n\n# Create a monorepo project.\nnpx shadcn@latest init --name my-app --preset base-nova --monorepo\nnpx shadcn@latest init --name my-app --preset base-nova --template next --monorepo\n\n# Initialize existing project.\nnpx shadcn@latest init --preset base-nova\nnpx shadcn@latest init --defaults  # shortcut: --template=next --preset=base-nova\n\n# Add components.\nnpx shadcn@latest add button card dialog\nnpx shadcn@latest add @magicui/shimmer-button\nnpx shadcn@latest add --all\n\n# Preview changes before adding/updating.\nnpx shadcn@latest add button --dry-run\nnpx shadcn@latest add button --diff button.tsx\nnpx shadcn@latest add @acme/form --view button.tsx\n\n# Search registries.\nnpx shadcn@latest search @shadcn -q \"sidebar\"\nnpx shadcn@latest search @tailark -q \"stats\"\n\n# Get component docs and example URLs.\nnpx shadcn@latest docs button dialog select\n\n# View registry item details (for items not yet installed).\nnpx shadcn@latest view @shadcn/button\n```\n\n**Named presets:** `base-nova`, `radix-nova`\n**Templates:** `next`, `vite`, `start`, `react-router`, `astro` (all support `--monorepo`) and `laravel` (not supported for monorepo)\n**Preset codes:** Base62 strings starting with `a` (e.g. `a2r6bw`), from [ui.shadcn.com](https://ui.shadcn.com).\n\n## Detailed References\n\n- [rules/forms.md](./rules/forms.md) — FieldGroup, Field, InputGroup, ToggleGroup, FieldSet, validation states\n- [rules/composition.md](./rules/composition.md) — Groups, overlays, Card, Tabs, Avatar, Alert, Empty, Toast, Separator, Skeleton, Badge, Button loading\n- [rules/icons.md](./rules/icons.md) — data-icon, icon sizing, passing icons as objects\n- [rules/styling.md](./rules/styling.md) — Semantic colors, variants, className, spacing, size, truncate, dark mode, cn(), z-index\n- [rules/base-vs-radix.md](./rules/base-vs-radix.md) — asChild vs render, Select, ToggleGroup, Slider, Accordion\n- [cli.md](./cli.md) — Commands, flags, presets, templates\n- [customization.md](./customization.md) — Theming, CSS variables, extending components\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["shadcn","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity-skills"],"capabilities":["skill","source-sickn33","skill-shadcn","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/shadcn","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34515 github stars · SKILL.md body (16,210 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T12:51:45.450Z","embedding":null,"createdAt":"2026-04-18T21:44:46.789Z","updatedAt":"2026-04-22T12:51:45.450Z","lastSeenAt":"2026-04-22T12:51:45.450Z","tsv":"'+20.1':800,802 '-10':303,306,308 '-4':682,685,687 '/cli.md':1055,1967 '/components/ui':1298 '/customization.md':1973 '/dev/null':137 '/rules/base-vs-radix.md':496,1958 '/rules/composition.md':466,574,1917 '/rules/forms.md':368,1908 '/rules/icons.md':643,1932 '/rules/styling.md':262,1943 '1':173,1135,1608 '2':136,194,405,826,1153,1625 '3':210,1192,1642 '4':224,1199,1684 '5':827,1240 '500':242 '6':1269 '7':406,1351 '8':1438 '9':1490 'a2r6bw':1722,1901 'access':510 'accord':1325,1431 'accordion':875,1965 'acme/form':1822 'activ':416 'actual':901,1090,1306 'ad':30,90,1182,1278,1288,1353,1356,1367 'add':1041,1160,1188,1238,1247,1448,1466,1613,1633,1780,1785,1792,1797,1806,1814,1821 'adding/updating':1802 'advis':935 'affect':981,1624 'alert':593,857,1923 'alertdialog':852 'alia':902,1318 'alias':898,1307 'alreadi':1139,1190 'also':1397 'alway':248,468,501,558,930,959,1108,1161,1364,1604 'analyz':1663 'anim':631 'animate-puls':630 'api':125,920,983,1082,1127 'app':1024,1708,1720,1736,1749 'appli':1667 'appropri':811 'approv':1693 'aria':439,447,756 'aria-invalid':438,446,755 'as-i':1568 'aschild':479,1959 'ask':1446,1475,1493,1576,2012 'assum':1002 'astro':1883 'avail':985 'avatar':557,836,1922 'avatarfallback':560 'background':332 'badg':635,792,835,1928 'base':65,483,488,975,980,1646,1711,1739,1752,1766,1778,1871 'base-nova':1710,1738,1751,1765,1777,1870 'base-vs-radix.md':495 'base62':1895 'bash':1092,1696 'behalf':1486 'bg':229,240,331 'bg-background':330 'bg-blue':239 'bg-primari':228 'block':944,1360,1450,1469 'blue':241 'bottom':850 'boundari':2020 'breadcrumb':840 'brows':1221 'browser':919 'build':14,22,596,606 'built':213 'built-in':212 'bun':62 'bundui':1284 'bunx':61 'button':397,413,534,646,766,809,1097,1786,1807,1815,1851,1929 'button.tsx':1817,1824 'button/action':808 'callout':591 'card':202,207,521,834,871,1787,1920 'cardcont':526,533 'carddescript':525 'cardfoot':527 'cardhead':523 'cardtitl':524 'case':733 'chang':1230,1260,1587,1638,1652,1658,1800 'chart':208,866,867 'check':184,190,487,581,1154,1162,1286,1374 'checkbox':819 'checkboxes/radios':423 'checkicon':696 'choic':407 'clarif':2014 'class':341,669,772 'classnam':263,512,1947 'clear':1987 'cli':41,45,701,1327,1607 'cli.md':1052,1966 'client':923 'cn':338,1953 'code':33,257,707,730,1894 'col':292 'collaps':876 'color':227,271,325,791,799,1945 'combobox':817 'command':46,861,863,1054,1968 'commandgroup':477 'commanditem':476 'common':724 'communiti':96,191,1281 'compon':4,24,28,92,106,121,157,171,176,270,356,463,569,577,584,673,674,804,912,969,982,1013,1061,1077,1107,1156,1164,1177,1194,1233,1251,1264,1267,1276,1279,1340,1354,1358,1379,1452,1511,1531,1536,1548,1567,1572,1580,1781,1842,1978 'compos':101,195,539 'composit':522,1387 'composition.md':465,573 'condit':340 'config':154,1563 'confirm':853,1682 'contain':151,894 'content':1091 'context':8,129,893,1138,1168,1410 'contextmenu':882 'control':204,451,462,760 'convent':1021 'correct':80,728,780,788,801,1126,1316,1373 'creat':964,1101,1697,1725 'criteria':2023 'critic':243,1392,1395 'critical-rul':1394 'css':679,951,955,1565,1975 'current':127 'custom':188,217,485,571,579,597,607,629,638,954 'customization.md':1972 'dark':324,1951 'dashboard':205 'data':436,442,455,543,649,652,659,751,768,831,1934 'data-dis':454 'data-icon':542,648,651,658,767,1933 'data-invalid':435,441,750 'date':1043,1049 'date-fn':1042,1048 'debug':103,1103 'decid':1643 'decod':703 'default':1343,1481,1772 'defin':958 'depend':1037 'describ':1991 'design':16,26,115 'destin':1011 'detail':1857,1905 'determin':988 'dialog':357,497,844,865,1098,1788,1852 'dialogtitl':505 'diff':1239,1257,1542,1593,1634,1649,1665,1816 'differenti':727 'dimens':783 'direct':554,711,938 'directori':1173 'disabl':453,456,459,545 'display':832 'div':376,428,590,599,633,746 'dlx':57 'doc':162,1062,1070,1096,1113,1201,1208,1843,1850 'document':9,122,165,1079 'drawer':500,849 'drawertitl':507 'dri':1254,1539,1590,1615,1809 'dropdownmenu':881 'dropdownmenugroup':475 'dropdownmenuitem':474 'dry-run':1253,1538,1589,1614,1808 'dump':530 'e.g':906,972,1022,1039,1283,1319,1380,1411,1463,1900 'echo':138 'edg':732 'edit':960 'ellipsi':318 'email':748,761,763 'empti':600,603,608,877,879,1924 'end':663 'enforc':249 'ensur':1120 'environ':2003 'environment-specif':2002 'equal':301,782 'error':139 'etc':223,360,1000,1016,1474 'event':916 'everyth':531,1678 'exact':1007 'exampl':71,123,167,1063,1080,1203,1845 'exist':104,175,576,585,1250,1758 'expert':2008 'explicit':1442,1692 'extend':1977 'fail':565 'feedback':854 'fetch':705,1084,1115,1213,1598 'field':372,432,445,458,489,744,754,889,897,933,1059,1910 'fieldgroup':371,743,1909 'fieldlegend':419 'fieldset':418,1913 'file':254,738,929,952,962,1009,1020,1292,1334,1368,1600,1620,1628,1645,1662 'file-system':1008 'find':1193 'first':147,177,1118,1157,1261,1496,1683 'fix':1102,1270,1432 'flag':1969 'flex':283,289,291 'flex-col':290 'fns':1044,1050 'forc':1507,1518,1557 'foreground':234,336 'form':203,365,369,385,741,813 'forms.md':367 'found':143 'framework':20,1017 'full':520,1058 'gap':285,293,383,775 'get':164,1072,1088,1136,1200,1210,1314,1841 'github':1602 'global':950 'grid':382 'group':421,471,1918 'guess':1133,1455 'h':307,686,787 'handl':361,675 'handler':917 'hardcod':908,1294 'haven':1179,1225 'head':431 'height':299 'hidden':315,518 'hook':1015 'hovercard':886 'hugeicon':1424 'icon':544,641,644,650,653,660,666,671,676,689,695,764,769,989,1400,1429,1935,1936,1939 'iconlibrari':987,1406 'icons.md':642 'imag':564 'import':42,905,990,1176,1271,1295,1324,1329,1385,1401,1427 'incorrect':1386 'incorrect/correct':256 'index':353,1956 'individu':1550 'info':134,494,1053,1146,1312,1527 'init':146,716,1505,1516,1555,1704,1716,1732,1745,1763,1771 'initi':109,1757 'inject':891,1140 'inlin':655,662,943 'inline-end':661 'inline-start':654 'input':366,393,399,814,815,2017 'inputgroup':387,396,401,1911 'inputgroupaddon':402 'inputgroupinput':389 'inputgrouptextarea':390 'inputotp':822 'insid':395,398,469,549,672,864 'instal':156,1038,1047,1155,1191,1227,1232,1241,1530,1535,1862 'instead':620,636 'intellig':1595 'invalid':437,440,443,448,752,757,762 'isload':538 'ispend':537 'isrsc':909 'issu':1434 'item':467,1223,1415,1856,1859 'json':130,135,149 'keep':1584 'key':694,718,888,896 'label':747 'laravel':1888 'latest':55,59,64,76,133,161,181,493,715,1069,1095,1112,1145,1197,1207,1218,1237,1246,1311,1504,1515,1526,1554,1612,1632,1703,1715,1731,1744,1762,1770,1784,1791,1796,1805,1813,1820,1829,1836,1849,1865 'layout':265,386,742,870 'leav':1566 'librari':977 'like':238,1297 'limit':1979 'link':251,736 'list':1165,1170,1529 'liter':347 'load':567,626,1930 'local':1586,1641,1651,1657,1661,1672 'login':1468 'lookup':700 'loop':412 'lucid':993,996,1004,1418 'lucide-react':992,1003,1417 'magicui':1285 'magicui/shimmer-button':1793 'manag':2 'manual':323,345,350,415,708,1603 'markup':572,580,610 'match':1302,1348,1988 'may':1341 'menubar':883 'menus':880 'merg':1498,1512,1545,1596 'miss':1376,1384,2025 'modal':845 'mode':1952 'modern':15 'modif':1673 'monorepo':1727,1741,1756,1886,1892 'move':1436 'must':547,1440 'mute':233,335 'my-app':1706,1718,1734,1747 'name':1430,1705,1717,1733,1746,1868 'navig':837 'navigationmenu':839 'need':502,559,806,921,1150 'never':235,268,373,391,551,702,907,963,1001,1480,1597,1685 'new':91,111,966,1699 'next':1755,1775,1877 'next.js':1023 'no-reinstal':1519,1558 'non':1035,1290 'non-shadcn':1034 'non-ui':1289 'nova':973,1712,1740,1753,1767,1779,1872,1875 'nowrap':321 'npm':1046 'npx':53,74,131,159,179,491,713,1067,1093,1110,1143,1195,1205,1216,1235,1244,1309,1502,1513,1524,1552,1610,1630,1701,1713,1729,1742,1760,1768,1782,1789,1794,1803,1811,1818,1827,1834,1847,1863 'object':691,1941 'one':967,1189 'option':403,828 'outlin':220 'output':1997 'overflow':314 'overflow-hidden':313 'overlay':355,843,1919 'overrid':269,326 'overwrit':1509,1655,1680,1687 'packag':51 'packagemanag':70,1029 'page':200 'pagin':842 'pair':258 'palett':862 'panel':848 'parti':1275,1338 'pass':688,709,1938 'path':1296,1344 'pattern':12,719,725,1130 'per':1644 'permiss':2018 'placehold':627 'pnpm':56,1040 'popov':359,887 'prefix':903 'preserv':1671 'preset':117,706,717,1492,1506,1517,1556,1709,1721,1737,1750,1764,1776,1869,1893,1970 'preview':1229,1259,1799 'primari':230 'primit':976 'principl':172 'progress':858 'project':6,38,49,68,84,112,128,142,153,892,1137,1167,1304,1350,1404,1409,1422,1700,1728,1759 'prop':986 'provid':7 'puls':632 'q':1832,1839 'quick':1694 'radiogroup':820 'radix':480,978,1874 'radix-nova':1873 'rather':1131 'raw':236,375,392,798,1599 're':1122,1187 're-add':1186 'react':994,1005,1419,1881 'react-rout':1880 'read':1365,1659 'rechart':869 'refer':126,931,1060,1083,1695,1906 'refresh':1152 'registri':97,185,192,1222,1282,1339,1363,1414,1439,1457,1460,1477,1484,1826,1855 'reinstal':1497,1501,1508,1521,1560 'reinvent':198 'relat':422 'render':482,552,1961 'replac':1398 'requir':508,2016 'resiz':873 'resolvedpath':1006 'resolvedpaths.ui':1172 'retriev':120 'review':1352,2009 'rewrit':1322,1328 'rout':1018 'router':1025,1882 'rule':244,246,737,1393,1396 'rules/base-vs-radix.md':1957 'rules/composition.md':1916 'rules/forms.md':1907 'rules/icons.md':1931 'rules/styling.md':1942 'run':43,144,1066,1109,1142,1159,1204,1255,1523,1540,1591,1609,1616,1629,1810 'runner':52,81 'safe':1653 'safeti':2019 'say':1465,1675 'scope':1990 'scrollarea':874 'search':182,773,1198,1825,1830,1837 'see':734,1051,1262,1618,1636 'select':805,816,1099,1853,1962 'selectgroup':473,1383 'selectitem':472,1381 'semant':226,328,795,1944 'separ':619,872,1926 'set':199,404 'shadcn':1,54,58,63,75,132,141,145,160,180,492,714,1036,1068,1094,1111,1144,1196,1206,1217,1236,1245,1310,1472,1503,1514,1525,1553,1611,1631,1702,1714,1730,1743,1761,1769,1783,1790,1795,1804,1812,1819,1828,1831,1835,1848,1864 'shadcn/button':1867 'shadcn/ui':3,18,94,105,729 'sheet':358,498,846,851 'sheettitl':506 'shortcut':1773 'shorthand':311 'side':847 'sidebar':206,838,1833 'size':221,295,302,668,677,681,771,784,1937,1949 'skeleton':624,859,1927 'skill':1982 'skill-shadcn' 'skip':1500,1551 'slider':823,1964 'sm':222 'smart':1544 'sonner':613,617,855 'sourc':32 'source-sickn33' 'spa':1028 'space':276,280,379,774,778,1948 'space-i':279,378,777 'space-x':275 'span':640 'specif':2004 'specifi':1462,1471 'spinner':541,860 'sr':514 'sr-on':513 'stack':288,364 'start':656,1879,1897 'stat':1840 'state':417,601,609,878,1915 'status':790 'stop':2010 'string':693,699,1896 'structur':464 'style':100,218,259,267,589,598,639,968 'styling.md':261 'sub':1378 'sub-compon':1377 'substitut':78,2000 'success':2022 'support':1885,1890 'swap':1425 'switch':114,818,1491 'system':17,27,116,1010 'tab':201,556,841,1921 'tabl':209,833 'tabler':999 'tabler/icons-react':997 'tabslist':550 'tabstrigg':546 'tailark':1473,1838 'tailwind':260 'tailwind.config.js':947 'tailwindcssfil':948 'tailwindvers':939 'task':1986 'templat':346,1723,1754,1774,1876,1971 'ternari':348 'test':2006 'text':232,317,334 'text-ellipsi':316 'text-muted-foreground':231,333 'textarea':394,821 'theme':942,1974 'third':1274,1337 'third-parti':1273,1336 'titl':504 'toast':611,615,856,1925 'toggl':824 'togglegroup':409,829,1912,1963 'togglegroupitem':830 'token':329,796 'tooltip':885 'tooltips/info':884 'top':926 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'treat':1995 'treatment':971 'trigger':486,553 'true':911 'truncat':310,1950 'tsx':740 'typographi':273 'ui':23,189,1291,1317,1333 'ui.shadcn.com':1903,1904 'updat':1243,1249,1263,1266,1547,1562,1571,1578,1669,1677 'updating-compon':1265,1546 'upstream':1582,1639,1668 'url':168,1074,1086,1117,1211,1846 'usag':11,1065,1129 'use':47,73,87,88,98,107,118,158,174,178,211,225,282,294,309,327,337,370,374,388,400,408,426,434,478,511,519,568,575,592,602,614,618,623,634,647,807,899,913,922,941,946,991,1030,1105,1215,1234,1252,1308,1342,1416,1423,1479,1537,1588,1605,1679,1686,1980 'useeffect':915 'user':36,1445,1464,1489,1495,1575,1674,1690 'usest':914 'util':1014 'v3':945 'v4':940 'valid':433,749,1914,2005 'valu':237 'variabl':956,1976 'variant':215,219,793,812,1946 'vega':974 'verifi':1370 'vertic':287 'via':39,612,678 'view':1219,1823,1854,1866 'violat':1389 'visual':517,970 'vite':1027,1724,1878 'vs':1026,1045,1640,1960 'w':305,684,786 'whitespac':320 'whitespace-nowrap':319 'width':297 'without':1382,1470,1688 'won':1300 'work':1123 'workflow':1134 'workspace/ui/components':1320 'would':1622 'wrap':868 'write':187,344,587 'wrong':781,789,803 'x':277 'y':281,380,779 'yet':1861 'z':352,1955 'z-index':351,1954","prices":[{"id":"fb264e0e-03f5-4771-96e6-6b511c07fe0b","listingId":"5a0297d1-a11a-45ac-8cc4-0df2b78b83a9","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:44:46.789Z"}],"sources":[{"listingId":"5a0297d1-a11a-45ac-8cc4-0df2b78b83a9","source":"github","sourceId":"sickn33/antigravity-awesome-skills/shadcn","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/shadcn","isPrimary":false,"firstSeenAt":"2026-04-18T21:44:46.789Z","lastSeenAt":"2026-04-22T12:51:45.450Z"}],"details":{"listingId":"5a0297d1-a11a-45ac-8cc4-0df2b78b83a9","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"shadcn","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34515,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-22T06:40:00Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"c5d243c7866e92cb0d15888381de62ef9977ac79","skill_md_path":"skills/shadcn/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/shadcn"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"shadcn","description":"Manages shadcn/ui components and projects, providing context, documentation, and usage patterns for building modern design systems."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/shadcn"},"updatedAt":"2026-04-22T12:51:45.450Z"}}