npx skills add ...
npx skills add igorwarzocha/opencode-workflows --skill vite-shadcn-tailwind4
Initialize shadcn/ui + Tailwind CSS v4 in Vite projects (Vite-specific, not Next.js/Remix). Use proactively for Vite project setup, shadcn component installation, or Tailwind v4 configuration. Examples: - user: "Setup shadcn in my Vite project" → install deps, configure tailwind v4 CSS-first, init shadcn, verify components work - user: "Add shadcn to existing Vite app" → check existing config, install CLI, add components.json, update CSS imports - user: "Use Tailwind v4 with shadcn" → configure @import with @theme, remove v3 config, setup custom tokens - user: "Create Vite + React + shadcn project" → scaffold Vite, install shadcn, configure theme, add sample components
npx skills add igorwarzocha/opencode-workflows --skill vite-shadcn-tailwind4
For Next.js, Remix, or other frameworks, You MUST use their respective shadcn installation guides.
<question_tool>
(Recommended).If prerequisites are missing, You MUST help the user set up Tailwind v4 first.
## Step 2: Fix TypeScript Aliases The shadcn CLI fails if paths aren't in the root `tsconfig.json`. Vite uses a solution-style config with references, but shadcn doesn't parse those.Action: You MUST update tsconfig.json to include compilerOptions:
You SHOULD recommend these settings:
You MUST wait for user confirmation before continuing.
## Step 5: Add Components You MUST instruct the user to run: ```bash npx shadcn@latest add ```You SHOULD instruct them to select all components (a then Enter).
You MUST wait for user confirmation before continuing.
## Step 6: Add Extensions (Optional) If user wants AI elements, You MUST instruct them to run: ```bash npx shadcn@latest add @ai-elements/all ```You SHOULD instruct them to answer NO to all overwrite prompts.
You MUST wait for user confirmation before continuing.
## Step 7: Install Missing Dependencies The CLI MAY miss dependencies. You MUST check `package.json` and install any missing.Required packages:
tw-animate-css (devDep) - v4 replacement for tailwindcss-animatetailwind-merge (dep) - used by cn() utilityclsx (dep) - used by cn() utilityclass-variance-authority (dep) - used by shadcn componentsYou MUST run if any are missing:
You MUST remove these if present:
@media (prefers-color-scheme) blocks@theme blocks (keep only @theme inline)@config directives
You MUST fix any TypeScript errors before marking setup complete.
import tailwindcss from "@tailwindcss/vite";
import path from "path";
export default defineConfig({
plugins: [react(), tailwindcss()],
resolve: {
alias: {
"@": path.resolve(__dirname, "./src"),
},
},
});npm install tailwind-merge clsx class-variance-authority
npm install -D tw-animate-css@import "tailwindcss";
@import "tw-animate-css";
@custom-variant dark (&:is(.dark *));
@theme inline {
/* Variable mappings: --color-X: var(--X); */
}
:root {
/* Token definitions using oklch() */
}
.dark {
/* Dark mode tokens using oklch() */
}
@layer base {
* {
@apply border-border outline-ring/50;
}
body {
@apply bg-background text-foreground;
}
}