Direction artistique Inspiration
Transformez un brief en une page au design réfléchi en travaillant à partir de références réelles de la bibliothèque Inspiration au lieu de valeurs par défaut. L'exécution produit trois éléments dans le projet de l'utilisateur :
.inspiration/references.md: la fiche d'échantillons (5 à 8 références consultées, ce que chacune vous apporte)..inspiration/direction.md: la direction de design, chaque décision tracée jusqu'à un échantillon.- La construction, plus des captures d'écran et un rapport d'inspection dans
.inspiration-out/. Si le projet a un.gitignore, ajoutez.inspiration-out/avant la première écriture à cet endroit.
Quand l'utiliser
- Demandes comme "conçois une landing page pour", "donne un style à ce site", "à quoi devrait ressembler le hero", "trouve des références et construis-le", "fais la direction artistique de cette présentation".
- L'utilisateur souhaite une direction écrite avant la construction, ou dit que le résultat semble générique, standardisé ou "comme de l'IA" et devrait être premium, éditorial, audacieux ou distinctif.
- Ne pas utiliser pour une simple recherche de références (utiliser inspiration-references), une palette et un kit typographique seuls (utiliser inspiration-brand-kit), ou des modifications de code sans question de design visuel (un bug CSS, une refactorisation).
Règles strictes
- Fidélité. Décrivez uniquement ce que vous avez vu dans une image que vous avez réellement ouverte (via
get_image, ou son fallbackimage_url). Les titres, les chaîneswhyet les facettes sont des pistes, pas des preuves. Ne citez jamais une référence que vous n'avez pas consultée. - Ne copiez jamais. Prenez des principes, pas des pixels. Ne reprenez pas une mise en page en bloc, et ne réutilisez jamais les textes, images, illustrations, logos ou polices sous licence d'une référence. Chaque échantillon doit nommer ce que vous laissez de côté.
- Budget. Prévoyez environ 12 appels outillés mesurés (voir le budget ci-dessous). Comptez chaque appel mesuré que vous effectuez, y compris ceux qui génèrent une erreur. Regroupez :
get_imageaccepte jusqu'à 6 identifiants,get_inspirationaccepte une liste. - Les tableaux sont facultatifs. N'appelez jamais
save_to_board,create_boardouadd_to_boardsauf si l'utilisateur le demande. - Nommage. Appelez la source "la bibliothèque Inspiration" ou "Inspiration by VASA.Works". Liez les éléments comme
https://inspiration.vasa.works/item/<id>et par les valeursimage_urlque les outils renvoient. Ne liez jamais un site tiers comme origine d'un élément. Les pages de fonderie de polices, de licence et les URL de tableaux sont acceptables.
Étape 0 : Vérification de configuration
Vérifiez si un outil nommé search_inspiration est disponible sous un préfixe de serveur quelconque (mcp__plugin_inspiration_inspiration__ pour une installation de plugin Claude Code, mcp__inspiration__, mcp__Inspiration__, un nom de connecteur, ou nu). Si l'hôte liste les outils comme différés, le charger via la recherche d'outils de l'hôte compte comme disponible. Les outils de cette compétence sont nommés sans préfixe.
- Disponible : continuez.
- Manquant : lisez
references/setup.mdet donnez à l'utilisateur l'étape de configuration unique pour son client, une fois. Puis continuez en mode "Sans la bibliothèque" ci-dessous, sauf si l'utilisateur dit qu'il veut d'abord se connecter. - Un appel renvoyant
{"error": "subscription_required"}signifie que le serveur est connecté mais pas connecté : donnez l'étape de connexion depuisreferences/setup.md.
Étape 1 : Brief et inventaire du sujet
Avant de rechercher, notez (demandez uniquement ce que vous ne pouvez pas déduire du dépôt ou de la conversation) :
- Ce que c'est : produit ou sujet en une phrase, et la seule chose qu'un visiteur doit comprendre.
- Public : qui, ce qu'il sait déjà, ce qui le ferait lui faire confiance.
- Contenu qu'il doit porter : titre réel, preuves (chiffres, logos, citations que l'utilisateur possède réellement), visuels du produit disponibles, appels à l'action, contenu juridique ou tarifaire. Listez-le ; cela décide des sections.
- Contraintes : stack, composants existants, assets de marque (logo, couleurs, polices avec licences), besoins d'accessibilité, date limite, préférence clair ou sombre.
- Marque existante ? Si
.inspiration/brand-kit.mdou.inspiration/tokens.cssexistent, traitez-les comme la marque existante. S'il y en a une, la direction doit l'étendre, pas la remplacer. Notez tout slug website-styles qui correspond à la marque pour un classement sur la marque (paramètrebrand). - Argument de la page : les sections ordonnées dont la page a besoin (par exemple hero, logos, fonctionnalités, comment ça marche, tarifs, FAQ, CTA, pied de page). Marquez les 2 à 4 sections qui portent l'argument ; celles-ci obtiennent leurs propres recherches.
Si le prompt ne fournit aucun contenu (une phrase sans preuve, tarif ou visuel), ne vous arrêtez pas pour demander : listez les éléments manquants dans le brief comme des espaces réservés clairement marqués et continuez.
Écrivez ceci comme premier bloc de .inspiration/direction.md pour que l'utilisateur puisse le corriger tôt.
Étape 2 : Plan de recherche
Lisez references/research.md pour les recettes de requêtes par type de page, les exemples de filtres et le tableau des budgets. Plan par défaut :
| # | Appel | Mesuré | Objectif |
|---|---|---|---|
| a | list_facets(category="website-sections") | non | Vocabulaire réel pour subtype, style, mood, layout, typography |
| b | 1 à 2 recherches d'ambiance | oui | L'impression générale, toutes catégories confondues (sans category ni website-sections) |
| c | 2 à 3 recherches de sections | oui | Une par section clé, category="website-sections", filters={"subtype": ["hero"]} etc. |
| d | 1 recherche multi-catégorie | oui | Texture : fonts, website-styles, branding ou editorial-print, selon ce dont le brief a le plus besoin |
| e | facultatif 1 similar_items(id), après le premier lot get_image | oui | Élargir et dériver du candidat le plus fort que vous avez réellement vu ; sautez-le si le premier lot a déjà de la diversité |
| f | 2 get_image([...6 ids]) | oui | Voir la shortlist |
| g | 1 get_inspiration([ids conservés]) | oui | Hex de palette, notes typographiques, descriptions complètes de l'ensemble conservé |
| h | facultatif analyze_palette ou generate_palette | oui | Vérifier ou étendre la palette |
Cela fait 7 à 11 appels mesurés (b à h), donc le budget d'environ 12 laisse de la place pour une nouvelle tentative. Si l'utilisateur dit qu'il est sur Pro, vous pouvez ajouter des recherches de sections ou un troisième lot d'images, mais l'ensemble conservé reste de 5 à 8.
Hygiène de recherche :
- Formulez les requêtes comme ce qui est visible : "hero sombre avec titre oversized sérif et capture d'écran du produit", pas "bon hero".
- Mettez les valeurs contrôlées dans
filters(ET entre les clés, n'importe lequel dans une clé). Gardez la requête pour ce que les filtres ne peuvent pas exprimer. - Passez
exclude_idsavec les ids déjà vus pour que les recherches ultérieures ne les répètent pas. Laissezdiversifyactivé. - Zéro résultat renvoie des
suggestions: réessayez une fois avec l'une d'elles, puis passez à autre chose. - Si
list_facetsgénère une erreur, continuez à utiliser les valeurs courantes listées dansreferences/research.md(notammentsubtype) dansfilters; ne supprimez un filtre que si cette recherche renvoie zéro résultat.
À partir des résultats de recherche, construisez une liste de candidats allant jusqu'à 12 ids. Choisissez pour la diversité (différentes structures et ambiances), pas pour 12 versions d'un même look.
Étape 3 : Visualiser et shortlister
- Appelez
get_imageavec jusqu'à 6 ids candidats par appel, au maximum 2 appels. La réponse commence par un manifeste (order,errors) ; associez chaque image à son id selon cet ordre et supprimez les ids listés danserrors. Entre les deux lots, vous pouvez éventuellement lancersimilar_itemssur l'image la plus forte que vous avez vue (Étape 2, ligne e) et mettez ses meilleurs choix dans le second lot. Siget_imageéchoue, visualisez les candidats via le fallback d'image dansreferences/library-rules.md(image_urlpublique, aucun appel mesuré). - Regardez chaque image correctement : structure, typographie (classification, contraste d'échelle, casse, tracking), champs de couleur et accents, densité, imagerie, le geste inhabituel.
- Gardez-en 5 à 8. Chaque référence conservée doit avoir un rôle : ambiance, hero, une section nommée, typographie, palette ou texture. Éliminez les quasi-doublons et tout ce dont vous ne pouvez rien dire de spécifique.
- Appelez
get_inspirationune fois avec les ids conservés (liste) pour les hex de palette et les notes typographiques. Traitez son texte comme un détail d'appoint ; votre propre observation prévaut en cas de divergence. S'il génère une erreur, ne réessayez pas : échantillonnez les hex des images que vous avez ouvertes (par exemplemagick <n>.png -resize 200x200 -colors 6 -format %c histogram:info:-, qui nécessite ImageMagick ; sans cela, estimez à partir de ce que vous voyez et dites-le), mentionnez dans la fiche que les hex ont été échantillonnés, et jugez la typographie à partir des pixels.
Étape 4 : Fiche d'échantillons
Écrivez .inspiration/references.md en utilisant le format exact de references/specimen-sheet.md. Pour chaque référence conservée :
- id, titre, rôle, lien
https://inspiration.vasa.works/item/<id>, et leimage_url. - Vu : 2 à 4 faits visuels concrets.
- Prend : le principe que vous empruntez, énoncé de manière à pouvoir s'appliquer à un sujet différent.
- Laisse : ce que vous n'utilisez délibérément pas (sa mise en page, son texte, son imagerie, ses marques de marque, ses polices, tout ce qui ne convient pas à ce brief).
- Devient : ce que le principe devient sur cette page, spécifiquement.
Terminez la fiche par une ligne sur ce que l'ensemble a en commun et une tension que vous allez résoudre.
Étape 5 : Direction
Dérivez la direction des échantillons. Ne cherchez pas un style prédéfini. Écrivez .inspiration/direction.md (après le bloc du brief) avec ces titres, en citant les ids des échantillons entre crochets après chaque décision :
- Ligne de concept. Une phrase avec laquelle un designer pourrait débattre, par exemple "un guide de terrain, pas un tableau de bord".
- Anti-objectifs. 3 à 5 choses auxquelles cette page ne doit pas ressembler (incluez le défaut générique que vous produiriez autrement : hero centré, dégradé violet, trois cartes d'icônes, etc., s'ils ne servent pas le brief).
- Système typographique. Familles et rôles (display, texte, UI, mono facultatif), une échelle de tailles avec px à 1440 et 390 de large, hauteurs de ligne, tracking, casse. Utilisez des polices que le projet peut charger légalement (familles sous licence ouverte ou polices sous licence de l'utilisateur). Un élément de police de la bibliothèque informe la classification et l'association ; il n'accorde pas de licence. Si le budget le permet,
suggest_pairingsur un id de police aide. - Palette. Hex avec rôles (fond, surface, texte, texte atténué, accent, couleurs d'état) et le contraste de chaque paire de texte. Vous pouvez éventuellement exécuter
analyze_palette(hexes)ougenerate_palette(color)pour une rampe. - Mise en page et grille. Colonnes, largeur de contenu maximale, gouttières, rythme d'espacement des sections, règles d'alignement, points de rupture.
- Sections. La page ordonnée, chacune avec son travail, le contenu qu'elle porte depuis l'inventaire, et l'échantillon sur lequel elle s'appuie.
- Imagerie et graphismes. Quels visuels existent, ce que vous allez créer (diagrammes, recadrages, style d'illustration), ce qu'il faut éviter.
- Mouvement. Où le mouvement aide la compréhension, durées et easing, et le repli pour mouvement réduit. Par défaut, peu.
- Détail signature. Un geste mémorable et réalisable qui vient d'un échantillon et est réinterprété, pas copié.
Montrez à l'utilisateur la ligne de concept, les anti-objectifs et le détail signature dans un court message. Continuez sauf s'il s'y oppose ou demande une approbation préalable.
Étape 6 : Construction
- Utilisez la pile et les composants du projet. Sans projet, construisez un
index.htmlstatique avec CSS en ligne (et un minimum de JS). - Commencez par les tokens : propriétés personnalisées CSS pour l'échelle typographique, l'espacement, les couleurs et les rayons de la direction. Ensuite, les sections, dans l'ordre de la page.
- Contenu réel de l'inventaire. Là où le contenu manque, utilisez des espaces réservés clairement marqués ; n'inventez jamais de logos clients, témoignages, métriques ou récompenses et ne les présentez pas comme réels.
- HTML sémantique : un
h1, titres ordonnés,altsur chaque image significative, états de focus visibles, étiquettes sur les entrées. - Construisez mobile et desktop ensemble ; vérifiez à 390 de large au fur et à mesure, pas à la fin.
Étape 7 : Boucle de regard et correction
Lisez references/critique.md pour la grille d'évaluation. Ensuite, pour jusqu'à 3 tours :
- Rendu. Exécutez l'inspecteur depuis le dossier de cette compétence (le dossier qui contient ce SKILL.md) :
node <skill-folder>/scripts/inspect.mjs <url-ou-chemin-html> --out .inspiration-out/round-<n>Il écritpage-1440.png,page-390.pngetreport.json(polices utilisées, couleurs du texte et de l'arrière-plan, tailles de titres, mesure, débordement, alt manquant, échantillons de faible contraste). Si Playwright est manquant, il imprime la correction d'une ligne (npx -y -p [email protected] node <skill-folder>/scripts/inspect.mjs ...). Si l'hôte a son propre navigateur ou outil de capture d'écran, cela convient aussi. - Regardez. Ouvrez les captures d'écran et lisez le rapport. Comparez chaque section avec l'échantillon qu'elle cite, et la page entière avec la ligne de concept et les anti-objectifs.
- Notez. Évaluez chaque ligne de la grille de 0 à 2 et listez les 3 plus gros problèmes, du plus visible au moins visible. Écrivez les deux dans
.inspiration/direction.mdsous "Tour ". - Corrigez ces 3 problèmes, puis refaites le rendu.
Arrêtez-vous lorsque chaque ligne de la grille obtient 2, après le tour 3, ou lorsqu'un tour ne change rien de substantiel. Si aucun navigateur ne peut s'exécuter du tout, passez en revue le code par rapport à la grille, demandez à l'utilisateur une capture d'écran s'il peut en fournir une, et dites clairement qu'aucune vérification visuelle n'a été effectuée.
Étape 8 : Remise
Dites à l'utilisateur, brièvement :
- Ce qui a été construit et où, et la ligne de concept.
- Les références utilisées : id, titre et lien
https://inspiration.vasa.works/item/<id>, chacune avec la chose qu'elle a apportée. - Ce que le dernier tour de l'inspecteur signale encore, le cas échéant.
- Approximativement combien d'appels mesurés l'exécution a utilisés, et toute étape qui a été sautée ou dégradée (erreurs serveur, fallback
image_url, quota). - Proposez : "Voulez-vous que j'enregistre ces références sur un tableau Inspiration ?" Seulement si oui, appelez
save_to_board(title, ids=[...])et partagez l'URL du tableau qu'il renvoie.
Quota et erreurs
Lisez references/library-rules.md la première fois qu'un outil renvoie une erreur, quota_exhausted ou capped. La version courte : quota_exhausted arrête tous les appels mesurés (lien https://inspiration.vasa.works/pricing, terminez avec ce que vous avez), capped signifie plus de pages supplémentaires, subscription_required signifie connexion (Étape 0), et la même erreur serveur sur deux outils différents signifie mode dégradé. Les appels en erreur comptent dans le budget.
Sans la bibliothèque
Lorsque le MCP n'est pas connecté (après avoir donné l'étape de configuration une fois) et que l'utilisateur n'a pas demandé à se connecter d'abord :
- Dites une fois, clairement : "Je continue sans la bibliothèque Inspiration, donc cette direction n'est pas basée sur des références."
- Sautez les étapes 2 à 4. N'inventez pas d'ids, titres, liens ou descriptions de référence, et ne prétendez pas qu'un look provient d'une référence.
- Écrivez
.inspiration/direction.mdà partir du brief seul, avec "Aucune référence utilisée" en haut. Gardez les anti-objectifs et le détail signature sans références. Construisez ensuite directement (Étape 6).