CommunityProgramación y desarrollogithub.com

shadcn-first

Prioriza el uso de bloques y componentes de shadcn/ui antes de escribir CSS personalizado, manteniendo interfaces consistentes, accesibles y fáciles de mantener.

¿Qué es shadcn-first?

shadcn-first es una guía de buenas prácticas y un set de herramientas MCP que impulsa a los desarrolladores a utilizar primero bloques y componentes preconstruidos de shadcn/ui en lugar de crear interfaces desde cero con clases CSS manuales o estilos inline (`style={{}}`). La habilidad establece un orden claro: instalar un bloque, luego un componente, luego componer varios, y solo como último recurso escribir código propio, siempre justificándolo. Se apoya en dos servidores MCP complementarios: `shadcn-official`, que entiende el proyecto y permite buscar, inspeccionar y agregar componentes, y `shadcn`, que explora el registro global para bloques y temas. Para superficies de chat por IA recomienda prompt-kit, una biblioteca compatible con shadcn. Además, incluye una checklist de auditoría que mide cuántas líneas de UI personalizada se eliminaron y cuántos `style={{}}` quedan, garantizando que el trabajo esté realmente alineado con la regla. Finalmente, prohíbe el uso de emojis en la interfaz, limita los colores de acento y desaconseja modificar componentes directamente para cambiar colores, sugiriendo en su lugar usar variables de tema.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/getedgehq/skills/tree/main/shadcn-first

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace shadcn-first?

Alguien mantiene este código después de ti. Cada div escrito a mano con clases personalizadas y cada style={{}} es algo que esa persona debe mantener vivo, y se desvía. La UI hecha a mano también pierde silenciosamente la artesanía que viene gratis con la biblioteca: anillos de foco, estados hover y active, navegación por teclado, esqueletos, estados vacíos, ARIA.

El orden. Nunca te saltes un paso.

  1. Bloque. ui.shadcn.com/blocks tiene barras laterales completas, paneles de control, inicios de sesión, tablas de datos. Instala el bloque.
  2. Componente. Si ningún bloque encaja, usa un componente del registro.
  3. Componer. Dos o tres componentes.
  4. Escríbelo tú mismo. Solo aquí, y el mensaje del commit debe nombrar qué bloque o componente evaluaste y por qué no encajaba.

Adapta el diseño al componente, no el componente al diseño. La marca y el lenguaje visual se alcanzan mediante variables de tema en un solo tema, nunca CSS por pantalla al lado del componente.

Herramientas y cuáles usar

Dos servidores MCP están configurados. Hacen trabajos distintos.

shadcn-official (npx shadcn@latest mcp) es consciente del proyecto: lee el components.json del repositorio. Úsalo para el trabajo real.

HerramientaÚsala para
get_project_registriesconfirmar que el proyecto está inicializado
search_items_in_registriesencontrar el componente adecuado, búsqueda difusa
list_items_in_registriesver todo lo disponible
view_items_in_registriesleer el código fuente y las dependencias de un componente antes de usarlo
get_item_examples_from_registriescopiar un ejemplo de uso real en lugar de adivinar la API
get_add_command_for_itemsobtener la línea exacta de npx shadcn add …, luego ejecutarla
get_audit_checklistejecutar después de escribir código. Esta es la puerta de entrada.

shadcn (@jpisnice/shadcn-ui-mcp-server) es de ámbito global y conoce bloques y temas: list_blocks, get_block, list_themes, get_theme, get_component_demo. Úsalo para el paso 1 y para la tematización.

Si un proyecto no tiene components.json, las herramientas oficiales dan error. Ejecuta npx shadcn@latest init primero y luego continúa.

Para superficies de chat de IA usa prompt-kit (prompt-kit.com, compatible con shadcn): chat-container, message, prompt-input, scroll-button, markdown, code-block, loader. Misma regla: instalar en lugar de reconstruir.

Componentes que la gente reinventa en lugar de instalar

sidebar (plegable, con menú de usuario en el pie), command (paleta Cmd+K), table + bloque de tabla de datos con TanStack, tabs, sheet, dialog, alert-dialog, popover, tooltip, skeleton, sonner (notificaciones), form (react-hook-form + zod), breadcrumb, resizable, scroll-area, avatar, badge, separator, dropdown-menu, select, collapsible, chart.

Si te sorprendes a ti mismo construyendo alguno de estos a mano, detente e instálalo.

Atajos de teclado

Usa Cmd+K para la paleta de comandos; esa es la convención cmdk que el componente command trae incorporada. Cmd+L está reservado por el navegador para la barra de direcciones y no se puede interceptar de manera confiable en Chrome. Si alguien pide Cmd+L, vincula Cmd+K, agrega Cmd+L de forma oportunista y explica por qué.

Hecho significa medido, no afirmado

Antes de reportar como hecho, ejecuta get_audit_checklist e informa los números:

  • líneas de UI personalizada eliminadas
  • bloques y componentes instalados
  • ocurrencias restantes de style={{}} (grep -rc 'style={{' src/)
  • por pantalla: elementos de components/ui/ vs escritos a mano

Cualquier cosa que aún esté escrita a mano debe estar allí con una razón expuesta, no pasada por alto. Una captura de pantalla es la prueba de que la pantalla se renderiza; los recuentos son la prueba de que se siguió la regla. Ambos, o no está hecho.

No hagas

  • Sin emojis en la interfaz. Iconos SVG reales (Lucide viene con shadcn).
  • Sin texto en círculos para logotipos de marca. Obtén rutas SVG reales: SimpleIcons > svgl.app > gilbarbara/logos > favicon.
  • Máximo uno o dos colores de acento. Sin bordes izquierdos de colores en tarjetas. Sin degradado en cada elemento.
  • No bifurques un componente para cambiar un color. Cambia la variable de tema.

Individual skills in this repo

This repo contains 18 individual skills — each has its own dedicated page.

getedgehq/agent-evals

Build evals for an AI agent that already does real work. Use when someone asks "how do I know my agent is right", wants to test an agent before trusting it, compare models on cost versus quality, or turn production failures into tests. Walks from first tasks and yes/no verifiers, to isolated environments, to a trace-driven improvement loop.

getedgehq/cli-ux-review

Audit a command-line tool for user-friendliness — clear situation / next-step / options in every output, colour-highlighted runnable commands, no raw jargon, no silent hangs. Invoke for "CLI UX audit", "review my CLI", "is this CLI intuitive", or before any CLI release.

getedgehq/generate-image

Generate images with OpenAI GPT Image 2 via the Codex CLI, billed through the user's ChatGPT Plus subscription (no OpenAI API key, no per-image API cost). Use when the user asks to create, generate, or make an image, picture, illustration, icon, hero graphic, or concept art from a text prompt.

getedgehq/harness-first

Diagnose and fix an unreliable, expensive, or unsafe LLM agent by auditing its harness (golden set, judge, cost caps, data layer, action approvals, tracing) before blaming or swapping the model. Use when someone says an agent is "burning tokens", "hallucinating", "brittle", gives inconsistent answers, asks whether to switch to a cheaper/better model, or wants to ship an agent or prompt change to customers.

getedgehq/http-error-triage

Run before concluding anything from an HTTP error on a third-party API. Separates a real credential/entitlement problem from a CDN or WAF block, a wrong endpoint, or a client-signature ban. Use whenever an API returns 401/403/402/429 and you are about to say "the key is dead", "credits are exhausted", "the plan lacks access", or "we are rate limited".

getedgehq/linkedin-media-prep

Convert, crop, resize, and compress images and videos for optimal LinkedIn upload quality and file size. Use when the user wants to prepare a photo, image, or video for LinkedIn (profile picture, cover photo, post image, article featured image, post video, or video ad), optimize file size for LinkedIn, crop and resize for LinkedIn dimensions, convert HEIC/RAW/PNG/MOV to LinkedIn-ready JPEG or MP4, or mentions LinkedIn media requirements, specs, or limits.

getedgehq/monid

>-

getedgehq/opendraft

An 18-agent pipeline that turns one topic line into a drafted

getedgehq/people-search

Find and rank professional people for recruiting, partnerships, sales, or research from user-provided data, public web sources, an authenticated search session, or a connected provider. Use for people discovery, LinkedIn or Sales Navigator search design, profile-list ranking, or provider filter translation.

getedgehq/rocketlist

Turn a CV into a shortlist of live startup roles from Rocketlist's public job board, including adjacent job titles the person would never have searched for, each with its published salary, the evidence for the fit, and a direct apply link. Use for "find roles I would be a strong fit for", career pivots, remote or VC-backed job hunts, and salary-visible role discovery.

getedgehq/security-audit-checklist

Run a comprehensive security audit across application code, cloud infrastructure, containers, CI/CD pipelines, and infrastructure-as-code. Covers privacy compliance, OWASP basics, secret leakage, API security, IAM misconfigurations, storage exposure, Kubernetes hardening, and network security. Use when the user asks to audit, review, or harden app or cloud security, check for secrets, scan for XSS/SQLi, verify security headers, review Terraform/CloudFormation, audit AWS/GCP/Azure configs, or perform any security-focused review.

getedgehq/skills

Develop or review a branded long-form YouTube channel using Simon Kaiser's public creator-led approach: audience fit, recurring formats, natural brand integration, Time with Brand, and an organic, paid, and Shorts strategy. Use for channel strategy, format briefs, and pilots.

getedgehq/skills

Build a YouTube strategy, evidence-backed idea slate, and title plus thumbnail package using Paddy Galloway's public method. Use when planning a channel, choosing concepts, or preparing a video before filming.

getedgehq/skills

Build or review a buyer-centered strategic narrative using Andy Raskin's public method. Use for sales or investor deck stories, homepage positioning, keynotes, launch narratives, and why-now messaging.

getedgehq/skills

Turn a product URL, launch brief, or approved script into a production-ready launch video. Use for product reveals, feature announcements, SaaS launches, and narrated product films; not for generic explainers or editing existing footage.

getedgehq/strip-image-ai-metadata

Strip C2PA and AI-generation metadata from images (PNG, JPEG, WebP) to remove "Generated by AI" / "ChatGPT" / "DALL-E" labels that platforms like LinkedIn, Instagram, and X display. Use when the user wants to clean AI-generated images before posting, remove AI attribution from photos, strip C2PA manifests, sanitize image metadata for professional use, or verify whether an image contains C2PA data.

getedgehq/top-down-comms

>-

getedgehq/workplan

Create, update, or close work plans for multi-step tasks. Use when starting refactors, bug lists, feature work, migrations, or any task with 2+ steps. Also use after auto-compaction to re-orient. Triggers: "workplan", "work plan", "create a plan", "what's the plan", "where was I", or when Claude detects

Skills relacionados