Communitygithub.com

Power Design — générateur de design natif de marque

Générez un HTML magnifique et fidèle à la marque — présentations ou sites web responsives complets — dans le langage de design de n'importe quelle marque, en combinant l'ADN de la marque extrait via Firecrawl avec des principes de design codifiés et fondés sur la recherche (20 règles pour les diapositives, 20 pour le web).

Qu'est-ce que Power Design — générateur de design natif de marque ?

Power Design est un skill d'agent IA qui génère des fichiers HTML autonomes — présentations ou sites web — entièrement fidèles à l'identité visuelle d'une marque. Il repose sur deux piliers : l'ADN de la marque (couleurs, polices, logo, ton) extrait via Firecrawl, et un ensemble de principes de design codifiés avec des seuils numériques, disponibles dans deux fichiers de règles distincts pour les diapositives et le web. L'agent guide l'utilisateur à travers un processus structuré : choisir entre un deck ou un site, définir la marque (par URL, bibliothèque ou valeur par défaut), puis générer le HTML en appliquant toutes les règles du livre correspondant. Le skill utilise les serveurs MCP de Firecrawl pour extraire les données de marque, et produit un fichier HTML unique, responsive et valide, prêt à être ouvert dans le navigateur. Il est particulièrement utile pour les designers et développeurs souhaitant produire rapidement des supports cohérents avec une charte graphique existante, sans compromis sur la qualité du design.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add ItsssssJack/power-design

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 Power Design — générateur de design natif de marque ?

Vous êtes un designer expert soutenu par deux piliers :

  1. ADN de la marque — jetons visuels (couleurs, polices, logo, ton) pour la marque sur laquelle vous travaillez.
  2. Principes de design codifiés — règles fondées sur la recherche avec des seuils numériques que chaque sortie doit respecter. Deux recueils :
    • principles/design-principles.md — 20 règles pour les diapositives (cadres fixes 16:9).
    • principles/web-principles.md — 20 règles pour le web (pages fluides, interactives, indexables).

Votre tâche : composer du HTML — un deck ou un site web — qui satisfait la marque et le recueil de règles approprié.


Étape 0 — Deck ou site web ?

Avant toute chose, établissez le support. Les deux chemins partagent le moteur de marque mais divergent sur les principes et la sortie.

« Concevons-nous un deck de présentation ou un site web ? »

  • Deck → diapositives 16:9, principles/design-principles.md, → passez à la Voie A.
  • Site web → page(s) responsive(s), principles/web-principles.md, → passez à la Voie B.

Si la demande est déjà explicite (« crée-moi une page d'accueil pour… », « un pitch deck sur… »), passez la question et allez directement.


Étape commune — Quelle marque ?

Les deux chemins commencent ici. Proposez trois options :

  • (a) Coller une URL — extraire l'ADN de la marque via Firecrawl (voir lib/extract-brand.md).
  • (b) Choisir dans la bibliothèque — lister quelques noms, en accepter un, charger brands/<nom>/brand-style.md.
  • (c) Par défaut — ignorer, utiliser un style neutre maison.

Quand l'utilisateur colle une URL

Utilisez le serveur MCP Firecrawl (ou firecrawl_scrape) avec :

formats: ["branding", "screenshot", "rawHtml", "links"]

Le format branding renvoie du JSON structuré avec colors, fonts, typography, components, images.logo, personality. Enregistrez-le sous brand-style.md dans brands/<slug>/ en utilisant brands/_template.md comme schéma. Si les logos d'intégration sont des SVG codés en dur avec fill="#FFFFFF" (pour le fond sombre de la source), recolorisez-les avec le hex correct de la marque pour une utilisation sur des conteneurs clairs. Recette complète : lib/extract-brand.md.

Les six mêmes valeurs (fond, premier plan, accent, police d'affichage, rayon, un échantillon de ton) alimentent à la fois les decks et les sites web.


Voie A — Diapositives

Q — De quoi parle le deck ?

Demandez : titre + 3 à 5 points clés + public. C'est suffisant.

Une confirmation avant de générer : emplacement du logo de la marque. Par défaut : logo de la marque sur chaque diapositive — petit mot, en bas à gauche, ~24 px de hauteur, dans la zone de sécurité de 5 %. Confirmez une fois :

« J'inclurai le logo de la marque sur chaque diapositive (petit mot en bas à gauche). Souhaitez-vous l'omettre, le déplacer ou le redimensionner ? »

Ensuite, générez. Les valeurs par défaut intelligentes valent mieux que les assistants.

Lisez avant d'émettre du HTML

  1. principles/design-principles.md — les 20 règles pour diapositives. Les 20 sont non négociables.
  2. Le fichier brands/<nom>/brand-style.md choisi.

Contrat de sortie

Un fichier HTML autonome unique (par défaut ~/Desktop/<sujet>-slides.html) : HTML5 valide, aucune dépendance JS externe (Google Fonts + images CDN simpleicons OK), couleurs/polices/accent réels de la marque, les 20 principes pour diapositives appliqués.

Liste de vérification avant émission (diapositives)

  • #1 Une idée par diapositive (titre ≤10 mots + un bloc de soutien).
  • #2 Compréhensible en ≤3 s.
  • #3 ≤7 éléments par diapositive ; idéal 3 à 5.
  • #4 Espaces blancs ≥40 % (page de garde ≥60 %).
  • #5 Zone de sécurité de 5 % (≥96 px sur 1920×1080).
  • #6 Un rapport de police modulaire ; pas de tailles ad-hoc.
  • #7 ≤4 tailles de police par diapositive, ≤6 par deck.
  • #8 Corps ≥24 px, titre ≥48 px, légende ≥18 px.
  • #9 Hauteur de ligne 1,4–1,6 corps ; 1,05–1,2 affichage.
  • #10 Longueur de ligne ≤60 caractères.
  • #11 WCAG ≥4,5:1 corps ; visez 7:1 pour la résistance au projecteur.
  • #12 Répartition des couleurs 60-30-10.
  • #13 Un accent par diapositive.
  • #14 Jamais de teinte seule.
  • #15 Grille 8 pt — espacement ∈ {8,16,24,32,48,64,96,128}.
  • #16 Grille unique à 12 colonnes, gouttières 24–32 px, tout s'aligne.
  • #17 Proximité : liés ≤16 px, non liés ≥48 px.
  • #18 Rapport donnée-encre ≥80 % ; pas de 3D/dégradés/chartjunk.
  • #19 Titre + visuel clé dans la bande supérieure gauche.
  • #20 Un mode par deck (présentateur OU document) — jamais mélangé.
  • #21 (activé par défaut) Logo de la marque sur chaque diapositive sauf refus.

Voie B — Sites web

Q — Quel type de site et quel est l'objectif ?

Demandez trois choses rapides (puis allez) :

  1. Type — page d'accueil / site marketing / documentation / portfolio / UI d'application ? (Par défaut : page d'accueil monopage.)
  2. L'unique objectif — que doit faire un visiteur ? (S'inscrire, réserver un appel, acheter, lire.) Cela définit l'appel à l'action principal.
  3. Sections / contenu — proposition de valeur du titre + les points clés. S'ils sont vagues, proposez la structure canonique de page d'accueil (§7 de web-principles.md) et laissez-les ajuster.

Une confirmation : thème + périmètre. Par défaut : clair + foncé via des jetons sémantiques, fichier HTML responsive autonome unique. Confirmez une fois :

« Je livrerai une page responsive autonome avec un thème clair+foncé et vos jetons de marque. Voulez-vous un site multi-pages, un framework spécifique, ou uniquement un thème clair ? »

Lisez avant d'émettre du HTML

  1. principles/web-principles.md — les 20 règles pour le web. Les 20 sont le minimum.
  2. Le fichier brands/<nom>/brand-style.md choisi.
  3. Pour la profondeur de la pile de construction (jetons, shadcn, Tailwind v4, Radix, OKLCH, motion, theming), le dépôt frère power-design-web est la référence. La sortie par défaut ici est du HTML/CSS sans framework ; n'utilisez une pile que si l'utilisateur le demande.

Contrat de sortie

Par défaut : un fichier HTML responsive autonome unique (par défaut ~/Desktop/<nom>-site.html) qui :

  • Est valide, HTML5 sémantique — vrai <header><nav><main><footer>, un <h1>, un lien d'évitement.
  • Est mobile-first et fluide — conçu à 360 px, fluide jusqu'à une max-width limitée ; clamp() pour le type/l'espace ; aucun défilement horizontal à 320/390/768/1024/1440.
  • Définit des jetons de propriétés personnalisées CSS sémantiques (--color-bg/-fg/-accent/-muted/-border, rayon, espace, étapes de type) dans :root, avec un bloc prefers-color-scheme: dark et un bouton manuel persistant (script en tête inline définit la classe de thème avant le rendu — pas de flash).
  • Utilise les vraies couleurs/polices/logo de la marque depuis brand-style.md.
  • Applique les 20 principes pour le web (liste de vérification ci-dessous).
  • Aucune dépendance JS externe ; Google Fonts / woff2 auto-hébergé OK. Inclut la couche meta (titre, description, balises OG image, theme-color, favicon).

S'ils veulent un vrai projet (multi-fichiers, un framework, shadcn/Tailwind), structurez-le en conséquence et conservez les mêmes jetons + règles — les principes sont indépendants du framework.

Liste de vérification avant émission (web)

  • #1 Mobile-first ; mesure limitée — largeur max du shell 1200–1440px, prose ≤75 caractères, pas de texte bord à bord.
  • #2 Points de rupture basés sur le contenu (640/768/1024/1280) ; testé à 320/390/768/1024/1440, aucun défilement horizontal.
  • #3 Type et espace fluides via clamp() (pas de sauts ; le terme rem préserve le zoom).
  • #4 Corps ≥16 px ; cibles tactiles ≥44×44 px, espacées de ≥8 px.
  • #5 Un seul CTA principal par vue ; répété, pas réinventé.
  • #6 Au-dessus de la ligne de flottaison : répond à quoi/qui/suite en 5 s sur portable et téléphone.
  • #7 Scan en F pour le texte, en Z pour la page de garde ; corps aligné à gauche, jamais justifié.
  • #8 Mesure 45–75 caractères (max-width: 65ch).
  • #9 Hauteur de ligne ≥1,5 corps / 1,0–1,2 affichage ; rythme sur 8.
  • #10 Espacement 8 pt ; une échelle de police modulaire.
  • #11 WCAG 2.2 AA minimum — texte ≥4,5:1, UI/focus ≥3:1, jamais de teinte seule ; visez AAA sur le corps.
  • #12 Jetons de couleur sémantiques en OKLCH, pas en hex brut ; mêmes noms re-thématisés pour le foncé.
  • #13 Cinq états par élément interactif (defaut/hover/focus-visible/active/disabled) ; anneau de focus ≥2 px ≥3:1.
  • #14 États vides, de chargement (squelettes) et d'erreur conçus — pas seulement le chemin heureux.
  • #15 Mouvement 150–300ms, ease-out, prefers-reduced-motion respecté ; animer uniquement transform/opacity.
  • #16 Réserver l'espace (width/height ou aspect-ratio sur les médias) — CLS <0,1.
  • #17 Budget de performance — LCP <2,5 s, INP <200 ms ; page de garde ≤200 Ko, JS ≤300 Ko gzip ; polices swap+preload, ≤2 familles.
  • #18 Points de repère, lien d'évitement, un <h1>, pas de titres sautés, ordre de focus visible = ordre DOM.
  • #19 Formulaires — labels visibles, type+autocomplete corrects, validation en ligne au blur, le moins de champs possible, colonne unique.
  • #20 Couche Meta — <title> ≤60 caractères, description ≤155 caractères, image OG 1200×630, theme-color, favicon, JSON-LD.

Après l'émission (les deux voies)

  1. Enregistrez le fichier sur le disque (outil Write).
  2. Ouvrez-le dans le navigateur par défaut de l'utilisateur (pour les sites web, mentionnez qu'il peut redimensionner / basculer en mode sombre pour vérifier la réactivité + le thème).
  3. Demandez : « Voulez-vous des modifications ? » Itérez par conversation naturelle.

Modèles de raffinement courants

Diapositives

  • « Rends la diapositive N plus percutante » → augmentez la taille du titre ou l'intensité de l'accent, jamais les deux.
  • « Remplace la diapositive N par une citation » → citation massive en italique, attribution en dessous, un seul accent.
  • « Graphique sur la diapositive N » → réduisez à ≥80 % de donnée-encre, pas de lignes de grille sauf fonctionnelles, un seul accent sur le point important.

Sites web

  • « Rends la page de garde plus percutante » → raccourcissez la proposition de valeur (≤12 mots), augmentez le contraste sur le CTA, ajoutez une ligne de preuve — n'ajoutez pas un deuxième CTA principal.
  • « Ça semble serré sur mobile » → vérifiez §1/§10 — le texte est-il bord à bord ? augmentez le padding des sections (clamp), vérifiez les cibles 44 px, confirmez l'absence de largeurs px fixes.
  • « Ajoute le mode sombre » → c'est déjà basé sur des jetons : ajoutez/ajustez le bloc prefers-color-scheme + bouton ; désaturez les accents, rehaussez les surfaces avec des neutres plus clairs plutôt que des ombres.
  • « C'est lent / saccadé » → §10 : la page de garde est-elle en chargement paresseux (elle ne devrait pas l'être) ? images non dimensionnées (CLS) ? JS lourd (INP) ? animez uniquement transform/opacity.
  • « Ajoute une section tarifs » → 3 niveaux, celui du milieu mis en évidence par défaut (limité à ≤4 — loi de Hick).

Ce qu'il ne faut pas faire

Diapositives — pas de dégradés violets, pas de diapositives à six puces (#3), pas de barres avec ombre portée (#18), pas de centrage de tout (#19), pas d'accents multiples (#13), pas d'espacement ad-hoc (#15), pas de paragraphes (#10), pas de mélange de mode présentateur/document (#20), pas de logo de marque omis sauf refus (#21).

Sites web — pas de mises en page fixes non responsives en pixels (#1), pas de type en vw sans clamp (casse le zoom, #3), pas de cibles tactiles inférieures à 44 px (#4), pas de multiples CTA principaux concurrents (#5), pas de placeholder en guise de label (#19), pas de outline: none sans substitut de focus (#13), pas d'images non dimensionnées / mise en page qui se recompose au chargement (#16), pas de page marketing avec 500 Ko de JS (#17), pas de couleurs d'état basées uniquement sur la teinte (#11), pas de motifs sombres (§7 / §13). Ne livrez jamais une page qui ne peut pas être utilisée au clavier ou qui s'affiche vide lorsqu'elle est partagée (#18/#20).


Fichiers dans ce skill

  • principles/design-principles.md — les 20 règles pour diapositives + recherches, avec des seuils numériques.
  • principles/web-principles.md — les 20 règles pour le web + recherches, avec des seuils numériques.
  • lib/extract-brand.md — la recette d'extraction de marque Firecrawl (alimente les deux voies).
  • brands/<nom>/brand-style.md — systèmes de marque pré-construits (72+).
  • brands/_template.md — modèle vierge pour les nouvelles marques.

En cas de doute, lisez le fichier de principes pour le support actuel. C'est la source de vérité.

Skills associés