KIT-code-maker/design-excellence

Système de design et anti-patrons pour une UI professionnelle. Garantit que les applications n'ont pas l'air « générées par IA ». Définit des palettes de couleurs, la typographie, l'espacement, les animations et les anti-patrons courants à éviter. Utilisé par le sous-agent Design Reviewer pour peaufiner l'interface. Déclencheurs : revue de design, polir l'UI, améliorer l'esthétique, on dirait que l'IA a fait ça, système de design, guide de style, rendre beau.

Qu'est-ce que design-excellence ?

Cette compétence, « Design Excellence », fournit un système de conception complet et des règles strictes pour garantir que les interfaces utilisateur construites par l'IA aient l'air professionnelles et créées par des humains, en évitant les modèles génériques typiques des générateurs d'IA. Elle est spécialement conçue pour les agents de codage comme Claude Code, Cursor ou Codex, et sert de guide de référence au sous-agent 'Design Reviewer' pour polir l'UI. La compétence détaille des règles précises pour la couleur (une seule couleur d'accent, pas de dégradés sur fond blanc), la typographie (polices système, hiérarchie stricte), l'espacement (échelle Tailwind cohérente), et l'animation (effets subtils et rapides de 150 à 300ms). Elle inclut également des anti-patrons détaillés pour repérer et corriger les signes révélateurs d'une conception par IA, comme le « Lovable Look » (dégradés violets, coins arrondis excessifs) ou le « Bootstrap Look » (ombres portées lourdes), ainsi qu'une checklist de revue de design complète. L'objectif ultime est de rendre l'application indiscernable d'un produit SaaS moderne, avec une interface cohérente, épurée et agréable à utiliser.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/KIT-code-maker/ai-development-skills/tree/main/skills/design-excellence

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

Excellence en Design

Faire en sorte que les applications construites par l'IA aient l'air conçues par des humains. Pas de modèles génériques. Pas de motifs évidents.

<core_principle>

La Norme Artisanale

Si quelqu'un peut dire que c'est généré par IA, nous avons échoué.

Un bon design est invisible. Les utilisateurs doivent sentir que l'application est professionnelle, et non pas qu'elle suit un modèle. </core_principle>

<color_system>

Philosophie des Couleurs

Le Problème des Choix de Couleurs par IA

L'IA a tendance à choisir :

  • Dégradés violets sur fond blanc (aspect par défaut de Lovable)
  • Couleurs d'accent trop saturées
  • Trop de couleurs dans une seule interface
  • Dégradés là où des couleurs unies fonctionnent mieux

Notre Approche : la Retenue

Palette de Base (par défaut)

/* Utiliser l'échelle ardoise de Tailwind pour les neutres */
--background: slate-50       /* Fond de page */
--surface: white             /* Cartes, modales */
--border: slate-200          /* Séparateurs, bordures */
--text-primary: slate-900    /* Titres */
--text-secondary: slate-600  /* Corps de texte */
--text-muted: slate-400      /* Espaces réservés, indices */

Couleurs d'Accent (en choisir UNE par application)

/* Défaut : Bleu (professionnel, digne de confiance) */
--accent: blue-600
--accent-hover: blue-700
--accent-light: blue-50

/* Alternatives selon le type d'application : */
/* Finance/Banque → Vert (argent) */
/* Santé/Bien-être → Sarcelle (calme) */
/* Alimentation/Restaurant → Orange (appétit) */
/* Créatif/Design → Violet (créativité) */
/* Urgence/Alerte → Rouge (attention) */

Règles

  1. UNE seule couleur d'accent par application, sans exception
  2. Utiliser l'accent avec parcimonie - uniquement boutons, liens, mises en évidence
  3. Jamais de dégradé sur les boutons primaires
  4. Le fond est blanc ou presque blanc, pas coloré
  5. Mode sombre : inverser correctement, ne pas se contenter de le rendre gris </color_system>

<typography_system>

Règles Typographiques

La Pile de Polices

/* Ne pas spécifier Inter partout - utiliser les polices système */
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 
  "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

/* Cela donne un aspect natif sur toutes les plateformes */

Échelle Typographique (classes Tailwind)

Titre de page :     text-2xl font-semibold   (24px)
Titre de section :  text-lg font-medium      (18px)
Titre de carte :    text-base font-medium    (16px)
Corps de texte :    text-sm                  (14px)
Petit/Légende :     text-xs text-slate-500   (12px)

Anti-patrons

❌ N'utilisez pas font-bold partout ❌ Ne mélangez pas trop de tailles de police dans une seule carte ❌ N'utilisez pas de MAJUSCULES pour les longs textes ❌ Ne centrez pas les paragraphes de corps de texte ❌ N'utilisez pas le noir pur (#000) - utilisez slate-900

Bons Patrons

✅ Titres : semibold ou medium, jamais regular ✅ Corps de texte : poids regular, bonne hauteur de ligne (1.5-1.6) ✅ Gardez une hiérarchie : maximum 3 tailles par composant ✅ Alignez la plupart du texte à gauche (sauf titres dans les dispositions centrées) </typography_system>

<spacing_system>

Espacement et Disposition

Échelle d'Espacement

Utilisez l'échelle par défaut de Tailwind de manière cohérente :

4   (1rem/16px)  - Petits écarts, éléments en ligne
6   (1.5rem/24px) - Écarts moyens, entre les composants
8   (2rem/32px)  - Grands écarts, entre les sections
12  (3rem/48px)  - Très grands écarts, sections de page

Disposition de Page

// Conteneur de page standard
<div className="p-4 md:p-6 lg:p-8">
  {/* Titre de page */}
  <h1 className="text-2xl font-semibold mb-6">Tableau de Bord</h1>
  
  {/* Sections de contenu avec espacement cohérent */}
  <section className="mb-8">
    {/* Contenu de la section */}
  </section>
</div>

Espacement Interne des Cartes

<Card>
  <CardHeader className="pb-4">  {/* Réduire le remplissage par défaut */}
    <CardTitle>Titre</CardTitle>
  </CardHeader>
  <CardContent className="space-y-4">
    {/* Contenu avec écarts verticaux */}
  </CardContent>
</Card>

Anti-patrons

❌ Remplissage incohérent (p-3 ici, p-5 là) ❌ Trop peu d'espace blanc (sensation d'étouffement) ❌ Trop d'espace blanc (sensation de déconnexion) ❌ Tailles d'écart différentes pour des éléments de même niveau </spacing_system>

<animation_system>

Mouvement et Animation

Philosophie

L'animation devrait :

  • Paraître naturelle, pas criarde
  • Fournir un retour d'information, pas une distraction
  • Être rapide (150-300ms), pas lente
  • Être subtile, pas dramatique

Transitions Standard

// États de survol - utiliser transition-colors ou transition-all
<div className="transition-colors hover:bg-slate-50">

// Survol de carte - soulèvement subtil
<Card className="transition-shadow hover:shadow-md">

// Survol de bouton - intégré dans shadcn, ne pas surcharger
<Button>Déjà animé</Button>

Patrons Framer Motion

// Transitions de page
<motion.div
  initial={{ opacity: 0, y: 20 }}
  animate={{ opacity: 1, y: 0 }}
  transition={{ duration: 0.3 }}
>

// Effet d'échelonnement de liste
<motion.div
  variants={{
    hidden: { opacity: 0 },
    show: {
      opacity: 1,
      transition: { staggerChildren: 0.1 }
    }
  }}
  initial="hidden"
  animate="show"
>
  {items.map(item => (
    <motion.div
      key={item.id}
      variants={{
        hidden: { opacity: 0, y: 20 },
        show: { opacity: 1, y: 0 }
      }}
    >
      {item.content}
    </motion.div>
  ))}
</motion.div>

// Micro-interaction - tapotement de bouton
<motion.button whileTap={{ scale: 0.98 }}>
  Cliquez-moi
</motion.button>

Timing des Animations

  • Effets de survol : 150ms
  • Petites transitions : 200ms
  • Transitions de page : 300ms
  • Animations complexes : max 400-500ms

Anti-patrons

❌ Effets de rebond (sensation bon marché) ❌ Animations lentes (>500ms donne une sensation de lenteur) ❌ Animation sur chaque élément (accablant) ❌ Chargeurs rotatifs partout (utiliser des squelettes à la place) ❌ Animations d'entrée dramatiques </animation_system>

<component_patterns>

Patrons de Conception de Composants

Cartes

// Carte propre - pas de décoration excessive
<Card className="bg-white border shadow-sm">
  <CardContent className="p-4">
    {/* Contenu */}
  </CardContent>
</Card>

// NE PAS FAIRE : rounded-3xl, ombres lourdes, bordures dégradées

Boutons

// Action primaire
<Button>Enregistrer</Button>

// Action secondaire
<Button variant="outline">Annuler</Button>

// Action destructive
<Button variant="destructive">Supprimer</Button>

// Bouton d'icône
<Button variant="ghost" size="icon">
  <Settings className="h-4 w-4" />
</Button>

// NE PAS FAIRE : boutons dégradés, effets 3D, icônes dans les boutons primaires (généralement)

Formulaires

// Disposition de formulaire propre
<div className="space-y-4">
  <div className="space-y-2">
    <Label>Nom</Label>
    <Input placeholder="Entrez votre nom" />
  </div>
  
  <div className="space-y-2">
    <Label>Email</Label>
    <Input type="email" placeholder="[email protected]" />
  </div>
</div>

// NE PAS FAIRE : étiquettes en ligne, étiquettes flottantes (sauf si demandé), icônes à l'intérieur des champs de saisie

Tableaux

// Tableau propre
<Table>
  <TableHeader>
    <TableRow className="bg-slate-50">
      <TableHead>Nom</TableHead>
      <TableHead>Statut</TableHead>
      <TableHead className="text-right">Actions</TableHead>
    </TableRow>
  </TableHeader>
  <TableBody>
    <TableRow className="hover:bg-slate-50">
      <TableCell>Jean Dupont</TableCell>
      <TableCell><Badge>Actif</Badge></TableCell>
      <TableCell className="text-right">
        <Button variant="ghost" size="sm">Modifier</Button>
      </TableCell>
    </TableRow>
  </TableBody>
</Table>

// NE PAS FAIRE : rayures zébrées (obsolète), bordures lourdes, contenu centré

</component_patterns>

<anti_patterns_detail>

Signaux d'Alerte du Design Généré par IA

Le "Look Lovable" (à éviter)

  • Violet comme couleur primaire
  • Arrière-plans dégradés sur des cartes blanches
  • rounded-3xl sur tout
  • Émojis dans les en-têtes
  • "Bon retour, Utilisateur ! 👋"
  • Illustrations génériques de type photo d'archives

Le "Look Bootstrap" (à éviter)

  • Ombres portées lourdes
  • Boutons en pilule arrondis
  • Liens bleus sur tout
  • Grilles de cartes de hauteurs égales
  • En-têtes de style Jumbotron

Le "Look Material" (à éviter, sauf si demandé)

  • Boutons d'action flottants
  • Cartes surélevées partout
  • Effets d'ondulation sur tout
  • Menu hamburger sur desktop

Ce qui rend le design "Fait par un Humain"

  1. Retenue - Toutes les fonctionnalités ne sont pas mises en évidence
  2. Hiérarchie - Primaire, secondaire, tertiaire clairs
  3. Espace blanc - De l'espace pour respirer
  4. Cohérence - Les mêmes patrons répétés
  5. Détails subtils - Petites touches qui ne crient pas
  6. Contenu réel - Aucun texte d'espace réservé visible </anti_patterns_detail>

<review_checklist>

Checklist de Revue de Design

Vérification des Couleurs

  • Une SEULE couleur d'accent utilisée
  • Pas de dégradés sur les fonds blancs
  • Pas de texte noir pur
  • Contraste suffisant pour l'accessibilité

Vérification Typographique

  • Maximum 3 tailles de police par composant
  • Hiérarchie appropriée (titres semibold, corps regular)
  • Pas de paragraphes en MAJUSCULES
  • Hauteur de ligne lisible (1.5+)

Vérification de l'Espacement

  • Remplissage cohérent sur l'ensemble
  • Assez d'espace blanc entre les sections
  • Le contenu n'est pas à l'étroit
  • L'espacement mobile est proportionnel

Vérification des Animations

  • Les transitions sont subtiles (150-300ms)
  • Pas d'effets de rebond/ressort
  • Le chargement utilise un squelette, pas un spinner
  • Les états de survol fournissent un retour d'information

Vérification des Composants

  • Les cartes n'ont pas de décoration excessive
  • Les boutons suivent la hiérarchie (primaire/secondaire)
  • Les formulaires sont disposés proprement
  • Les tableaux sont lisibles et interactifs

Vérification Finale

  • Un utilisateur saurait-il que c'est fait par IA ? (Devrait être NON)
  • Cela ressemble-t-il à un vrai produit ? (Devrait être OUI)
  • Est-ce cohérent avec les applications SaaS modernes ? (Devrait être OUI) </review_checklist>

Individual skills in this repo

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

KIT-code-maker/color-system

Use this skill for any color decision — picking or building a palette, dark mode, contrast, chart and terminal colors. Triggers include "what colors should I use", "pick a palette for my dashboard", "set up dark mode", "does this pass WCAG contrast", "colorblind-safe chart colors", or "give me a terminal theme" — and it applies even when the user never says "color", as in "theme this app", "these status badges look wrong", "the text vanishes when the page switches to dark", or "I can't tell these lines apart" — any complaint that text is unreadable on its background or that things can't be told apart. Ships curated light+dark palettes for web UI, marketing, data viz, and TUI, plus an OKLCH build-your-own recipe and WCAG/APCA thresholds. Do NOT use this skill for font size, weight, or pairing, including text too small or thin to read (see typography), for layout and component structure (see frontend-design), or for chart type, axis, and encoding choices that are not about color (see dataviz).

KIT-code-maker/copy-editing

When the user wants to edit, review, or improve existing marketing copy, or refresh outdated content. Also use when the user mentions 'edit this copy,' 'review my copy,' 'copy feedback,' 'proofread,' 'polish this,' 'make this better,' 'copy sweep,' 'tighten this up,' 'this reads awkwardly,' 'clean up this text,' 'too wordy,' 'sharpen the messaging,' 'refresh this content,' 'update this page,' 'this content is outdated,' or 'content audit,' 'this sounds like AI,' 'AI slop,' 'de-slop this,' or 'make it sound human.' Use this when the user already has copy and wants it improved or refreshed rather than rewritten from scratch. Every edit removes AI tells such as 'it's not X, it's Y' reveals, 'no X, no Y, no Z' lists, and sentences that trail into extra comma clauses. A request to fix one line gets a point edit that changes only that line. For writing new copy, see copywriting.

Skills associés