Anti-slop UI sur HTML/CSS/JSX avec styles. Interfaces distinctives, pas de cyan/violet/glassmorphism générique. Couvre typo, couleur, layout, animation, responsive, accessibilité WCAG AA, cohérence marque.
From codebloomnpx claudepluginhub vendeesign/codebloom --plugin codebloomThis skill uses the workspace's default tool permissions.
reference/accessibility.mdreference/blacklist.mdreference/color.mdreference/copywriting.mdreference/interaction.mdreference/metadata.mdreference/motion-recipes.mdreference/motion.mdreference/personality.mdreference/responsive.mdreference/spatial.mdreference/typography.mdreference/ux-writing.mdSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Les LLMs sont des machines à moyennes statistiques. Leur corpus d'entraînement (2019–2024) est saturé de tutoriels Tailwind, démos Shadcn et clones SaaS. Le résultat par défaut est toujours le même : boutons bg-indigo-500, Inter partout, hero en dégradé violet-bleu, trois cartes icônes en ligne, glassmorphism comme "premium". Ce n'est pas du design — c'est de la moyenne statistique. Ce skill existe pour l'éviter.
DESIGN_SYSTEM.md s'il existe — les choix du projet priment sur les recommandations de ce skillAvant de générer du code UI, lire avec Read les guides pertinents selon le type de travail :
| Type de travail | Références à lire |
|---|---|
| Landing page / site web | reference/spatial.md, reference/typography.md, reference/color.md, reference/personality.md |
| App / dashboard | reference/spatial.md (section dashboards), reference/interaction.md, reference/typography.md |
| Composants UI / formulaires | reference/interaction.md, reference/accessibility.md |
| Animations / transitions | reference/motion.md, reference/motion-recipes.md |
| Responsive / mobile | reference/responsive.md |
| Texte / microcopy / copywriting | reference/copywriting.md, reference/personality.md, reference/ux-writing.md |
| Refonte / changement de design | reference/blacklist.md + les guides du type de travail concerné |
| SEO / metadata / partage social | reference/metadata.md |
Ne pas tout lire — lire ce qui est pertinent pour la tâche en cours. 2-3 Read ciblés suffisent.
Détails complets et alternatives dans reference/blacklist.md.
indigo-500 / violet-600 / purple-* comme primaire. Dégradé bleu-violet en hero. Gradients aurora/mesh. Teal ou cyan comme accent "tech" sur fond sombre. Fond blanc + texte gris + bouton indigo. Noir pur (#000) ou blanc pur (#fff).
A la place : Couleurs qui portent un sens pour CE projet. Chercher dans la mode, le print, la nature — pas Dribbble. Max 3 couleurs actives. Voir reference/color.md.
Inter, Roboto, Poppins, Space Grotesk — bannis. Arial/system-ui comme choix de design — jamais comme statement.
A la place : Polices qui méritent leur place. Display : Playfair Display, Unbounded, Cabinet Grotesk, Syne, Fraunces, Instrument Serif, Bebas Neue, Neue Haas Grotesk. Voir reference/typography.md.
Grille 3 colonnes d'icônes. Hero centré + sous-titre + 2 CTAs. Sidebar gauche + contenu + rail droit. Bento grid. Cartes pour tout. Rang de metric cards en haut de dashboard.
A la place : Asymétrie, colonnes décalées, déséquilibre intentionnel. Espace négatif généreux OU densité informationnelle — pas le milieu médiocre. Layouts éditoriaux. Voir reference/spatial.md.
Glassmorphism. shadow-lg sur tout. Texte en dégradé sur les titres. Blobs animés. Bordures lumineuses. Particules/points flottants. Formes géométriques décoratives.
A la place : Ombres dures avec couleur (box-shadow: 4px 4px 0 #1C1410). Texture bruit/grain. Bordures comme éléments structurels. Texture subtile : lin, papier, béton.
rounded-xl sur tout — varier intentionnellement. Bouton CTA générique indigo. Footer 4 colonnes. État vide icône + texte gris. Modals sans nécessité. Voir reference/interaction.md.
Jamais d'emojis dans les interfaces générées : titres, boutons, labels, badges, listes, navigation, états vides, messages d'erreur. Les emojis remplacent un vrai travail d'iconographie et de hiérarchie visuelle. Utiliser de la typographie, de la couleur ou des icônes SVG.
Ne pas choisir des couleurs au hasard. Construire un système :
DOMINANT (60%) : La base — fonds, grandes surfaces
SECONDAIRE (30%) : Support — cartes, panneaux, éléments secondaires
ACCENT (10%) : L'impact — CTAs, highlights, interactions clés
NEUTRE : Texte, bordures, séparateurs — toujours teinté chaud ou froid
Construction :
Méthodes qui fonctionnent :
#1C1410, #1A1A14, #160D0DTest : La palette fonctionne en 1-bit (noir/blanc) ? Bonne structure. Existerait dans un contexte non-tech (mode, édition, gastronomie) ? Distinctive.
Consulter reference/color.md pour OKLCH, neutres teintés et dark mode.
DISPLAY : Une police expressive pour titres, grands chiffres, texte hero
BODY : Une police lisible pour paragraphes, labels UI, descriptions
MONO : Pour code, données, contenu technique (optionnel mais distinctif)
Échelle — utiliser une vraie échelle, pas des tailles arbitraires : 12 / 14 / 16 / 20 / 24 / 30 / 36 / 48 / 60 / 72 / 96px — choisir 4-5 tailles, assigner des rôles, s'y tenir.
Type comme design :
font-size: clamp(3rem, 8vw, 7rem) pour le type display fluideletter-spacing: -0.04em sur grands titres (serré = moderne)letter-spacing: 0.12em + uppercase pour labels et légendesline-height: 1.1 pour display, 1.6 pour bodyUtilitaires CSS obligatoires :
text-balance sur les headings (répartition uniforme des lignes)text-pretty sur le body/paragraphes (évite les orphelins)tabular-nums sur les données chiffrées (alignement colonnes)truncate ou line-clamp pour les UI densesletter-spacing sans demande expliciteConsulter reference/typography.md pour rythme vertical, OpenType et chargement.
Un reveal d'entrée bien timé > une douzaine de micro-interactions éparpillées.
prefers-reduced-motion est obligatoire, pas optionneltransform et opacity — tout le reste cause un recalcul de layoutPerformance critique :
scrollTop/scrollY/événements scroll — utiliser animation-timeline: view() ou Scroll TimelinesrequestAnimationFrame sans condition d'arrêtwill-change uniquement quand l'animation est imminente — retirer aprèsConsulter reference/motion.md pour courbes, stagger, FLIP et performance perçue. Consulter reference/motion-recipes.md pour les 10 patterns d'animation concrets (scroll reveal, stagger, parallax tilt, magnetic button, text scramble, SVG draw, shared layout morph...).
Quand le brief est vague, imposer UNE contrainte créative et l'exécuter à fond plutôt que de rendre chaque choix médiocre :
Un design construit autour d'une contrainte claire est 10x plus mémorable qu'un design qui utilise toutes les techniques à mi-force.
L'accessibilité n'est pas une couche à ajouter après — elle fait partie du design. Les manquements d'accessibilité sont des bugs, pas des suggestions.
Règles impératives (violations = bloquant) :
<button>, <nav>, <main> plutôt que des <div> avec rôlesalt sur chaque image informativeprefers-reduced-motion respecté sur toutes les animationsaria-label sur les boutons icône-only, aria-hidden="true" sur les icônes décoratives<input> ou <textarea>Détails complets, patterns ARIA par composant et outils de vérification dans reference/accessibility.md.
Les interfaces sans personnalité sont oubliables. La personnalité IA par défaut (confettis, "Oops!", ton "quirky") est pire. Chaque élément de personnalité sert une fonction : réduire la friction, rassurer, guider ou récompenser.
Détails complets, anti-patterns et exemples dans reference/personality.md.
Avant de finaliser une UI :
Anti-slop :
bg-indigo-*, bg-violet-*, bg-purple-* sauf intention justifiéeshadow-lg/shadow-xl appliqué universellementborder-radius varie par type d'élément, pas rounded-xl partoutTechnique :
h-dvh au lieu de h-screen (viewport dynamique mobile)text-balance sur headings, text-pretty sur bodytabular-nums sur données chiffréestransform/opacity uniquementwidth, height, top, left, margin, padding)will-change hors animation activeuseEffect pour ce qui peut être du render logicz-index fixe (pas de z-[9999] arbitraire)Accessibilité :
<div> cliquablesprefers-reduced-motion géréCohérence marque :
DESIGN_SYSTEM.md (si existant)Identité :
Litmus checks (répondre oui à chaque) :
Bon goût, zéro slop :
Étudier hors tech : Style typographique international suisse. Magazines 032c, Apartamento, Garage. Architecture brutaliste en UI. Design produit japonais (Muji, Braun).
DESIGN_SYSTEM.md en priorité — les choix du projet priment. Signaler toute dérive (couleur, typo, spacing non conforme aux tokens définis)