Skip to content
Back to skills

Shadcn

ASecurity

Use when adding, updating, composing, or debugging source components managed by shadcn; changing apps/desktop/components.json, registries, or presets; or running the shadcn CLI. Do not use for cosmetic layout or styling changes that only add classes around existing primitives.

  • 190 stars
  • 0 votes
  • 1 copy
  • 3 views
  • Added September 22, 2026
ai-agentsdebuggingapidocumentation

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 17 files and shows the line behind each finding

Scanned September 30, 2026

npx -y skills add ItsWendell/palot --skill shadcn --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Shadcn?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Shadcn
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/itswendell-shadcn/badge)](https://www.skillsdirectory.com/skills/itswendell-shadcn)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: shadcn
description: Use when adding, updating, composing, or debugging source components managed by shadcn; changing apps/desktop/components.json, registries, or presets; or running the shadcn CLI. Do not use for cosmetic layout or styling changes that only add classes around existing primitives.
slash: false
---

# shadcn/ui in Palot

Palot pins the shadcn CLI in `apps/desktop`. Run it from that workspace through Vite+:

```sh
vp exec -- shadcn info --json
vp exec -- shadcn docs <component>
```

Do not use `npx`, `pnpm dlx`, `bunx`, or an `@latest` CLI. Preserve the repository pin and the aliases, Tailwind file, primitive base, icon library, and registries reported by `info`.

## Choose the work

- Existing-source fixes: inspect the component and relevant callers first. Use the local implementation as the contract; CLI discovery and external docs are unnecessary when that evidence answers the question.
- Adding components or changing registry/configuration: read repository-root `../../../apps/desktop/components.json` and run `vp exec -- shadcn info --json` from `apps/desktop`. Prefer existing local primitives and variants; use `search` or `view` when looking for a missing component.
- Unclear APIs or upstream behavior: use `vp exec -- shadcn docs <component>` and fetch the relevant returned documentation. Reconcile it with the local source before applying it to customized components.
- Upstream component updates: follow the preview workflow below.

Inspect changed imports and CSS where applicable, then follow the formatting and validation workflow in [the development guide](../../../docs/agent-development.md#choose-verification-by-the-change). Shadcn CLI edits bypass OpenCode's native formatter hook, so format those files explicitly while respecting the repository's exclusions.

## Updating components

Use the CLI rather than fetching upstream source manually:

1. Run `vp exec -- shadcn add <component> --dry-run` to list affected files.
2. Run `vp exec -- shadcn add <component> --diff <file>` for each customized file.
3. Apply upstream changes while preserving local behavior and imports.
4. Use `--overwrite` only when the user explicitly authorizes replacing local changes.

## Project rules

- Use semantic theme tokens rather than raw colors or manual dark-mode overrides.
- Use `gap-*`, `size-*`, `truncate`, and `cn()` rather than equivalent verbose utilities.
- Compose forms with `FieldGroup` and `Field`; put collection items inside their matching group.
- Dialog-like surfaces require an accessible title.
- Prefer shared components such as `Alert`, `Empty`, `Separator`, `Skeleton`, and `Badge` over hand-built equivalents.
- Keep layout decisions in call sites and reusable visual behavior in component variants.

## References

Read only the branch needed for the task:

- Styling and Tailwind: `rules/styling.md`
- Forms and validation: `rules/forms.md`
- Component composition: `rules/composition.md`
- Base UI versus Radix APIs: `rules/base-vs-radix.md`
- Icons: `rules/icons.md`
- Chat primitives: `rules/chat.md`
- CLI commands: `cli.md`
- Registries: `registry.md`
- Presets and customization: `customization.md`

Files in this skill

  • LICENSE.md1 KB
  • NOTICE.md1.5 KB
  • SKILL.md2.9 KB
  • agents/openai.yml195 B
  • assets/shadcn-small.png1 KB
  • assets/shadcn.png3.8 KB
  • cli.md16.8 KB
  • customization.md5.9 KB
  • evals/evals.json6.2 KB
  • mcp.md3.4 KB
  • registry.md8.6 KB
  • rules/base-vs-radix.md6.8 KB
  • rules/chat.md6.8 KB
  • rules/composition.md5.6 KB
  • rules/forms.md4.8 KB
  • rules/icons.md1.9 KB
  • rules/styling.md4.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.