Cargando la bóveda…
Cargando la bóveda…
Registry open source de shadcn con 75 componentes premium (text-animate, cosmic-button, dynamic-island, hero-liquid-metal) + 2 skills oficiales para Claude Code (components-build con 16 reglas co-autoradas por Hayden Bleasel y shadcn, fixing-motion-performance). MIT, gratis.
Todos los que armamos páginas con Claude Code o Cursor sufrimos lo mismo:
No es Claude. Es que sin una librería de piezas premium y un archivo de reglas, defaultea a shadcn flat. Y shadcn flat es bonito pero todo el mundo ya lo tiene.
Cult UI son 75 componentes premium open source + 2 skills oficiales para Claude que hacen que siga el spec sin recordatorios.
Repo: nolly-studio/cult-ui. ~4.2k estrellas. MIT.
La diferencia entre "plantilla" y "producto real" son 5-6 componentes con personalidad.
Acá está el secreto. Aparte de componentes, el repo trae 2 skills oficiales para Claude Code que viven en .claude/skills/.
components-build#16 reglas que Claude sigue cuando construye/refactoriza componentes UI:
Co-autoradas por Hayden Bleasel + shadcn. Mismo spec que nolly-studio y shadcn usan internamente para mantener consistencia.
fixing-motion-performance#Auditor de performance de animaciones. 9 categorías de reglas. Slash command /fixing-motion-performance para auditar un archivo puntual.
Detecta:
will-change mal usadoUna vez descargadas a .claude/skills/ de tu proyecto, Claude las lee solo al arranque. Sigue el spec sin que se lo recuerdes nunca.
Sin las skills: Claude defaultea a sus patrones. Con las skills: Claude respeta el spec automáticamente.
Más allá de los 4 destacados, los 75 componentes están en 12 categorías:
Catálogo completo con preview: cult-ui.com.
Si solo vas a probar 4, que sean estos. Cambian la cara de una página en menos de un minuto.
Letras que se arman solas como en película. En el H1 = home cambia entera.
npx shadcn@latest add https://cult-ui.com/r/text-animate.jsonBotones con orillas que brillan. CTA principal de plano a premium en 1 segundo.
npx shadcn@latest add https://cult-ui.com/r/cosmic-button.jsonEl del iPhone, ahora para tu página. Sirve como toast, header de notificaciones, widget destacado.
npx shadcn@latest add https://cult-ui.com/r/dynamic-island.jsonTexto que parece metal derritiéndose. El componente que más cambia el feel del hero.
npx shadcn@latest add https://cult-ui.com/r/hero-liquid-metal.jsonPegá esto en Claude Code desde la raíz del proyecto. Verifica stack, instala dependencias faltantes, configura registry, agrega primer componente como smoke test.
Quiero usar Cult UI (https://cult-ui.com · github.com/nolly-studio/cult-ui)
en este proyecto. Es un registry de shadcn, no un paquete npm. Hacé en 5
pasos, confirmando cada uno:
1. VERIFICAR STACK
- Leé package.json: versión de Tailwind, framework, si hay shadcn
(components.json), si está instalado motion o framer-motion
- Si Tailwind es v3, proponé upgrade a v4 (NO corras todavía)
- Si tengo framer-motion: marcalo. Cult UI usa motion, NO framer-motion
2. INICIALIZAR SHADCN SI FALTA
- Si no hay components.json: npx shadcn@latest init con defaults
razonables (paleta neutral, CSS variables, base color neutral)
- Si ya hay: no tocar
3. INSTALAR DEPENDENCIAS FALTANTES
- motion (NO framer-motion). Si tengo framer-motion, desinstalá primero
- clsx y tailwind-merge si faltan
4. CONFIGURAR REGISTRY @cult-ui
- Editá components.json y agregá bloque:
"registries": {
"@cult-ui": "https://cult-ui.com/r/{name}.json"
}
- Si ya tenía bloque registries: fusioná sin sobrescribir
5. SMOKE TEST
- npx shadcn@latest add https://cult-ui.com/r/cosmic-button.json
- Confirmá que el archivo quedó en components/ui/
- Importá en una página de prueba para verificar que compila
Si falla:
- "registry not found": usar URL directa en lugar de @cult-ui/
- Imports motion/react fallan: verificar NO tener framer-motion
- Clases Tailwind no aplican: confirmar v4 con @tailwindcss/postcss
Al final decime: qué quedó instalado, archivos cambiados, comando
para agregar siguiente componente.Las skills viven en .claude/skills/ del proyecto.
Cult UI viene con 2 skills oficiales que hacen que Claude siga su spec
automáticamente. Quiero tenerlas en este proyecto.
Pasos:
1. Crear .claude/skills/ si no existe.
2. Descargar las 2 skills del repo nolly-studio/cult-ui:
- .claude/skills/components-build/
- .claude/skills/fixing-motion-performance/
Forma limpia:
git clone --depth 1 https://github.com/nolly-studio/cult-ui.git \
/tmp/cult-ui-skills
mkdir -p .claude/skills
cp -r /tmp/cult-ui-skills/.claude/skills/components-build .claude/skills/
cp -r /tmp/cult-ui-skills/.claude/skills/fixing-motion-performance \
.claude/skills/
rm -rf /tmp/cult-ui-skills
3. Verificar SKILL.md en cada carpeta:
ls .claude/skills/components-build/SKILL.md
ls .claude/skills/fixing-motion-performance/SKILL.md
4. Confirmame cuántos archivos copiaste y que SKILL.md se lee bien.
Después de copiar, cerrá la sesión de Claude Code y reabrila. Las skills
se leen al arranque. Desde ese momento Claude respeta el spec
automáticamente.Después de copiar, reiniciá Claude Code. Las skills se leen al arranque.
Estás trabajando en una sección. Identificás algo genérico. Le pegás prompt con componente + sección. Claude lo aplica respetando branding.
Quiero meter [COMPONENTE] de Cult UI en [DÓNDE].
1. Agregá componente: npx shadcn@latest add https://cult-ui.com/r/[COMPONENTE].json
2. Leé mi globals.css y tailwind.config para extraer design tokens reales
(paleta, font-family, radius, spacing). Respetá esos tokens.
3. Importá en [DÓNDE]:
- Reemplazá el elemento equivalente actual por la versión de Cult UI
- Mantené copy/contenido textual intacto
- Ajustá props para que respete MI paleta y MI font — no me dejes
estilo demo del repo
- Si necesita wrapper para animar (Suspense, dynamic import client-only),
agregalo correctamente
4. Verificá:
- Build/dev sin warnings
- El componente queda integrado, NO como sticker pegado
Si tengo cargada la skill components-build, seguila al pie de la letra
(accessibility, polymorphism, design-tokens del proyecto NO hardcoded).
Al final: archivos tocados, antes/después en 1 frase, FPS estimado de
animaciones. Si menos de 60, sugerí /fixing-motion-performance.Auditá [RUTA, ej. app/page.tsx] y decime dónde Cult UI sumaría.
Tu tarea es AUDIT, no refactor. Producí este reporte:
1. INVENTARIO
- Elementos visuales clave (hero, CTAs, cards, nav, footer, fondos)
- Para cada uno: qué componente shadcn/raw HTML uso hoy
2. DIAGNÓSTICO
- Marcá cuáles se sienten genéricos / de plantilla
- Marcá cuáles ya están bien y NO conviene tocar
3. PROPUESTA CON CULT UI
- Para cada genérico: componente Cult UI específico que lo reemplaza
- Solo componentes que sepas que existen en el registry
- Para cada propuesta: comando exacto de install
- Impacto visual: high/low
4. PLAN PRIORIZADO
- Ordená de mayor a menor impacto
- Recomendá empezar por 2-3 de high impact en above-the-fold
5. RIESGOS
- ¿Algo va a chocar con mi paleta/tipografía?
- ¿Algún componente requiere setup extra (motion, shader support)?
NO agregues ni instales nada todavía. Solo el reporte.hero-liquid-metal en el herotext-animate en títulos de seccióncosmic-button en CTAsshader-lens-blur como fondo decorativo del sidebardynamic-island como toast de notificacionesdynamic-island como widget herofamily-drawer para modales con efecto stackSin las 2 skills oficiales, Claude vuelve a sus defaults y termina ignorando los componentes premium. Las skills son lo que cambia el juego.
5-6 son suficientes para una landing premium. Más es ruido visual.
framer-motion con motion#Imports rompen. Solo uno. Si tenés framer-motion, desinstalá.
Cult UI demo usa colores específicos. Si copiás literal, no respetás tu marca. Pedile a Claude que respete globals.css explícitamente.
/fixing-motion-performance#Animaciones lindas en desktop pueden ser catastróficas en mobile. Validá performance antes de deploy.
Emil Kowalski Skill + Cult UI = motion design profesional + componentes premium. Stack de animación completo.
Frontend Design Skill + Cult UI + Playwright = diseño completo con browser real validando.
> Generá landing con Claude Web Builder.
> Después auditala con Cult UI y reemplazá los genéricos
por componentes premium.