shadcn-first

Traduit l'approche « shadcn-first » en français : utiliser des composants et blocs prêts à l'emploi plutôt que d'écrire du CSS manuel.

Qu'est-ce que shadcn-first ?

Le skill `getedgehq/shadcn-first` établit une hiérarchie stricte pour la création d'interfaces utilisateur : privilégier d'abord l'installation de blocs complets depuis `ui.shadcn.com/blocks`, puis les composants du registre, puis la composition de deux ou trois composants, et enfin l'écriture manuelle uniquement en dernier recours. Il s'appuie sur deux serveurs MCP complémentaires : `shadcn-official` pour les opérations projet (recherche, installation, audit) et `shadcn` (@jpisnice/shadcn-ui-mcp-server) pour la découverte de blocs et de thèmes. Le skill fournit une checklist d'audit (`get_audit_checklist`) qui mesure le nombre de lignes CSS personnalisées supprimées, les composants installés, et les occurrences résiduelles de `style={{}}`. Il liste également les composants fréquemment réinventés (sidebar, command, table, etc.) en insistant sur l'installation plutôt que la réécriture. Enfin, il rappelle des règles de design : pas d'émojis, utilisation d'icônes SVG Lucide, et personnalisation via les variables de thème plutôt que des modifications directes du composant.

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

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait shadcn-first ?

Quelqu'un maintient ce code après vous. Chaque div écrit à la main avec des classes personnalisées et chaque style={{}} est une chose qu'il garde en vie, et cela dérive. Les UI artisanales laissent aussi tomber silencieusement le savoir-faire offert gratuitement par la bibliothèque : les anneaux de focus, les états survol et actif, la navigation au clavier, les squelettes, les états vides, ARIA.

L'ordre. Ne sautez jamais une étape.

  1. Bloc. ui.shadcn.com/blocks contient des barres latérales complètes, des tableaux de bord, des pages de connexion, des tables de données. Installez le bloc.
  2. Composant. Si aucun bloc ne correspond, utilisez un composant du registre.
  3. Composez deux ou trois composants.
  4. Écrivez-le vous-même. Seulement ici, et le message de commit doit nommer le bloc ou composant que vous avez évalué et pourquoi il ne convenait pas.

Adaptez le design au composant, pas le composant au design. La marque et le langage visuel s'atteignent via les variables de thème dans un seul thème, jamais de CSS par écran à côté du composant.

Outils et lesquels utiliser

Deux serveurs MCP sont configurés. Ils font des travaux différents.

shadcn-official (npx shadcn@latest mcp) est conscient du projet : il lit le components.json du dépôt. Utilisez-le pour le vrai travail.

OutilUtilisez-le pour
get_project_registriesconfirmer que le projet est initialisé
search_items_in_registriestrouver le composant pour le travail, flou
list_items_in_registriesvoir tout ce qui est disponible
view_items_in_registrieslire le code source réel et les dépendances d'un composant avant de l'utiliser
get_item_examples_from_registriescopier un exemple d'utilisation réel au lieu de deviner l'API
get_add_command_for_itemsobtenir la ligne exacte npx shadcn add …, puis l'exécuter
get_audit_checklistexécuter après avoir écrit le code. C'est la porte.

shadcn (@jpisnice/shadcn-ui-mcp-server) est à l'échelle du registre et connaît les blocs et les thèmes : list_blocks, get_block, list_themes, get_theme, get_component_demo. Utilisez-le pour l'étape 1 et pour la thématisation.

Si un projet n'a pas de components.json, les outils officiels échouent. Exécutez d'abord npx shadcn@latest init, puis continuez.

Pour les surfaces de chat IA, utilisez prompt-kit (prompt-kit.com, compatible shadcn) : chat-container, message, prompt-input, scroll-button, markdown, code-block, loader. Même règle, installez plutôt que de reconstruire.

Composants que les gens réinventent au lieu d'installer

sidebar (pliable, avec menu utilisateur en bas), command (palette Cmd+K), table + bloc de table de données TanStack, tabs, sheet, dialog, alert-dialog, popover, tooltip, skeleton, sonner (toasts), form (react-hook-form + zod), breadcrumb, resizable, scroll-area, avatar, badge, separator, dropdown-menu, select, collapsible, chart.

Si vous vous surprenez à construire l'un d'eux à la main, arrêtez-vous et installez-le.

Raccourcis clavier

Utilisez Cmd+K pour la palette de commandes ; c'est la convention cmdk que le composant command embarque. Cmd+L est réservé par le navigateur pour la barre d'adresse et ne peut pas être intercepté de manière fiable dans Chrome. Si quelqu'un demande Cmd+L, liez Cmd+K, ajoutez Cmd+L opportunément et expliquez pourquoi.

Terminé signifie mesuré, pas prétendu

Avant de signaler comme terminé, exécutez get_audit_checklist et rapportez les chiffres :

  • lignes UI personnalisées supprimées
  • blocs et composants installés
  • occurrences restantes de style={{}} (grep -rc 'style={{' src/)
  • par écran : éléments de components/ui/ vs écrits à la main

Tout ce qui est encore écrit à la main doit être justifié par une raison explicite, pas être négligé. Une capture d'écran est la preuve que l'écran s'affiche ; les comptes sont la preuve que la règle a été suivie. Les deux, ou ce n'est pas terminé.

Ne faites pas

  • Pas d'émojis dans l'UI. Des icônes SVG réelles (Lucide est livré avec shadcn).
  • Pas de textes-dans-cercles pour les logos de marque. Sourcez de vrais chemins SVG : SimpleIcons > svgl.app > gilbarbara/logos > favicon.
  • Maximum une ou deux couleurs d'accent. Pas de bordures colorées à gauche sur les cartes. Pas de dégradé sur chaque élément.
  • Ne forkez pas un composant pour changer une couleur. Changez la variable de thème.

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 associés