CommunityImagegithub.com

Conception de logo

Faire passer une marque d'un brief court aux concepts, aux prompts d'image, à un signe SVG éditable et à une courte animation.

Qu'est-ce que Conception de logo ?

Un flux de logo qui note le contexte de marque, choisit le type de signe, écrit les prompts, dessine un SVG, vectorise un raster si besoin, puis anime le signe avec quelques principes de mouvement. Il couvre aussi les polices, une courte charte et une vérification de bon sens sur la marque déposée.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Verstige/verstige-skills/tree/HEAD/plugins/logo-design/skills/logo-design

Installed? Explore more Image skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · 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.

Aperçu

Depuis le README du skill

alt

Documentation

Compétence de Conception de Logo — Édition Ultime

Conception complète de logo et d'identité visuelle de marque. Couvre : capture du contexte de marque, stratégie d'identité visuelle, génération d'images IA, création directe de SVG, conversion raster-vecteur, animation de logo, documentation du système de marque, sélection de polices et livraison de la cohérence de marque.


Outil de Vision — Correction et Vérification

Lorsque l'utilisateur envoie un logo/une image comme référence et demande de combiner des idées : vision_analyze doit fonctionner. S'il renvoie "Je ne vois pas d'image" au lieu d'une analyse, MiniMax-M2.7 manque de vision native et la configuration auxiliaire doit être corrigée.

La correction correcte (exécuter les deux commandes, vérifié en juillet 2026) :

hermes config set auxiliary.vision.provider minimax
hermes config set auxiliary.vision.model MiniMax-Image-01

Vérifiez la configuration après exécution — elle doit apparaître sous une section vision: de premier niveau (ligne ~559 dans ~/.hermes/config.yaml), séparée de la section auxiliary.vision: imbriquée. Si vision_analyze échoue encore, l'URL de l'image peut être inaccessible — essayez de la télécharger à nouveau ou utilisez un chemin différent. Cette correction persiste entre les sessions.

Solution de repli si la vision échoue encore : Utilisez PIL/Pillow pour échantillonner les couleurs des pixels de l'image et la décrire analytiquement. Lisez le fichier, échantillonnez les régions clés (haut-centre, centre, bas, coins) et rapportez les couleurs dominantes, la distribution de la luminosité et les formes de base. Cela a fonctionné comme solution de repli lorsque vision_analyze était cassé — l'image a été confirmée comme des ailes noires plates sur gris clair avec une ancre en forme de larme.

Protocole de confirmation des dégradés (critique — obligatoire avant d'écrire un SVG)

Les utilisateurs affinent les dégradés en les décrivant en langage naturel, ce qui est ambigu tant que ce n'est pas visuel. Confirmez toujours la séquence verbalement en utilisant leurs noms de couleurs exacts avant d'écrire le SVG. Cela évite les refontes en 3 itérations.

L'étape de précodage (obligatoire) :

Utilisateur dit : "or émeraude cyan émeraude or"
→ BON : Dites "Compris — Or → Émeraude → Cyan → Émeraude → Or, les deux extrémités en or, cyan au centre absolu." Ensuite, écrivez le SVG.
→ MAUVAIS : Supposez que vous savez ce qu'il veut dire. Écrivez le SVG.

Utilisateur dit : "cyan bleu à or avec émeraude au milieu"
→ BON : Dites "Donc Or → Émeraude → Cyan → Émeraude → Or ? Ou Or → Cyan → Émeraude → Cyan → Or ? Expliquez-moi de gauche à droite."
→ MAUVAIS : Choisissez une interprétation et écrivez-la.

Leçons clés des itérations réelles (juillet 2026 — l'org) :

  • "cyan bleu à or avec émeraude au milieu, or aux deux extrémités" → Extrémités extérieures en or confirmées par l'utilisateur. Émeraude et cyan sont au milieu.

  • "cyan au milieu" → le cyan est à 50 % de décalage, l'émeraude/les autres le flanquent.

  • En cas de doute : donnez à l'utilisateur la séquence exacte de gauche à droite en utilisant ses propres noms de couleurs et demandez "est-ce correct ?"

  • La couleur du point de dégradé doit être explicitement confirmée — c'est un élément séparé de la ligne de dégradé.

  • Bordure de dégradé avec or aux points cardinaux (3/6/9/12 heures) : utilisez conic-gradient() CSS via foreignObject ou border-image — SVG 1.1 ne prend PAS en charge <conicGradient>. Tenter de l'utiliser échoue silencieusement.

  • Icône arrondie de style Telegram : base de cercle noir + trait de bordure dégradé + remplissage intérieur couvre le centre. Utilisez fill="none" stroke="url(#grad)" sur un cercle pour la bordure. Assurez-vous que le r du cercle SVG correspond au r de l'arrière-plan pour qu'il n'y ait pas d'espace.

  • Après confirmation : écrivez le SVG → rendez-le en PNG via Playwright → envoyez-le en tant que MEDIA:/chemin/vers/fichier.png sur sa propre ligne.

Centrage optique pour les marques à encoche en V (leçon critique des itérations de l'org) : Le centre géométrique (50 % y) semble trop haut lorsque la marque a une encoche en V s'étendant vers le bas — le poids visuel est en dessous du centre. Pour un canevas 512×512 avec le sommet de l'encoche en V à y≈28 local dans le groupe de la marque, translate(256, 290) a donné l'équilibre optique correct pour une marque combinée haute (ailes + encoche en V). Itérez visuellement — commencez à +20 px et augmentez jusqu'à ce que cela semble correct.

Contrainte de bordure d'icône sociale/Telegram : Le r de la base du cercle noir doit être exactement égal au rayon intérieur du trait de bordure — pas d'espace. Si le trait de bordure est de 8 px centré sur r=252, le bord intérieur est r=248. Le cercle noir doit également être r=248. Tout décalage = espace visible ou chevauchement.

Leçons de composition d'icône Telegram (juillet 2026 — les itérations de l'org) :

  • "Pas de bordure, juste l'icône" → L'utilisateur veut AUCUN anneau de bordure, juste la marque sur fond noir. Supprimez les éléments <circle> de la bordure, ne conservez que le fond <rect> noir et le groupe de la marque.
  • "Déplacez-le vers le bas pour que je puisse voir tout le logo" → Avec les marques hautes (ailes + encoche en V), le centre géométrique (50 % y) coupe le haut. Déplacez le translate y à ~290 sur un canevas 512. Itérez visuellement à partir de +20 px et augmentez jusqu'à ce que le haut ait de l'espace et que le bas ne semble pas à l'étroit.
  • "Agrandissez le logo" → Augmentez proportionnellement les coordonnées du chemin de la marque et les largeurs de trait. Pour la marque d'oscilloscope, étendre les bras de ±196 à ±234 a rempli l'espace. Les points d'accent dorés aux extrémités des bras doivent être placés juste à l'intérieur du bord du cercle (~20 px du bord sur un canevas 512).
  • "Combinez les ailes avec l'encoche en V de l'oscilloscope" → Le sommet de l'encoche en V devient le point de convergence organique de "l'ancre en forme de larme". Les ailes s'élèvent vers le haut à partir des extrémités des bras du signal. Le point cyan reste à l'origine du signal (bas de l'encoche en V). Gardez les bras du signal comme base structurelle — ils ancrent les formes d'ailes organiques.
  • "Centré" → Le centrage géométrique (translate au centre du canevas) fonctionne pour les marques au poids visuel équilibré. Pour les marques avec des extensions en V vers le bas, le centrage optique nécessite un décalage vers le bas de 40 à 60 px par rapport au centre géométrique. Commencez à +20 px et ajustez.

Combiner deux logos en un (synthèse de design) :

  • Lorsque l'utilisateur dit "combinez X avec Y", identifiez le noyau sémantique de CHACUN : X = symétrie d'ailes organiques + ancre en forme de larme (silhouette noire), Y = encoche en V d'oscilloscope + signal dégradé + point cyan
  • La synthèse : gardez le signal de l'oscilloscope comme base structurelle, ajoutez des formes d'ailes organiques comme lames secondaires s'écoulant des bras du signal
  • Le dégradé et le point cyan sont des éléments d'identité de marque qui doivent persister dans la synthèse
  • NE mélangez PAS les styles au hasard — choisissez l'élément structurel le plus fort de chacun et composez-les intentionnellement

Types de marques qui se lisent mal à la première itération

Marques de type signal-pouls (battement de cœur / scope / EKG). Lorsque le brief demande une marque "signal" ou "pouls" et que vous la dessinez en \_/\_ (ligne de base plate, pic, pic plus petit, ligne de base plate), la PREMIÈRE itération sera probablement lue comme une personne aux bras tendus, une vague ou des bosses de terrain car l'œil humain reconnaît d'abord les formes du corps. Deux corrections spécifiques :

  1. Gardez les segments de la ligne de base plats courts, proches du pic. Les longs segments de ligne de base loin du pic sont ce qui se lit comme des "bras." Rapprochez-les de la montée/descente du pic.
  2. Assurez-vous que la montée et la descente sont claires. Un pic symétrique avec des segments plats loin du centre se lit comme un corps (bras + tête). Une descente clairement asymétrique (montée raide depuis la ligne de base, pic, puis une petite bosse secondaire sur la descente) se lit comme des données avec de l'activité — c'est un signal, pas un corps.
  3. Ajoutez au moins une caractéristique secondaire au-delà du pic dominant. Même une petite marque sur la descente change la lecture de "forme" à "données." Sans cela, les marques de signal ressemblent par défaut à une silhouette de corps.

Contours hexagonaux / diamant / carrés. Lorsque le brief est "tech moderne" et que la marque est un hexagone ou un diamant, vérifiez que les bords ne forment pas accidentellement des lettres (un "X" à l'intérieur d'un hexagone épelle quelque chose, ou les angles d'un diamant se lisent comme un "V" pointant dans la mauvaise direction). Ajustez les angles des sommets de 5° si c'est ambigu.

Carrés à coins arrondis comme icônes d'applications. Vérifiez que le rayon des coins correspond à la plateforme. iOS utilise un "squircle" (coins continus, mathématiquement différents d'un simple border-radius). Un simple border-radius: 36px sur un carré 200×200 se lit comme "Android Material" pas comme "iOS." Si la plateforme compte, utilisez un générateur de squircles dédié au style iOS. SVG 1.1 n'a AUCUN élément de dégradé conique natif. <conicGradient> n'est pas valide. Solutions de contournement :

  1. conic-gradient() CSS dans un foreignObject div — fonctionne dans les navigateurs, rendu via Playwright
  2. border-image: conic-gradient(...) 1 sur un <div> dans foreignObject
  3. Repliez-vous sur un stroke circulaire avec un linearGradient multi-arrêts tourné de 45° — donne 4 couleurs avec or à 4 points mais pas parfaitement à 3/6/9/12 simultanément

Motifs de lecture erronée courants :

  • "Cyan à or" + "émeraude au milieu" = Or → Émeraude → Cyan → Émeraude → Or (pas Or → Cyan → Émeraude → Cyan → Or)
  • "Les deux extrémités en or" = les arrêts extérieurs sont en or, pas en cyan
  • "Cyan au centre" = le cyan est à 50 % de décalage, l'émeraude/les autres le flanquent

Rendez toujours en PNG et montrez visuellement avant de demander des commentaires sur les couleurs. Les descriptions de couleurs en texte ne sont pas fiables — le visuel est la source de vérité.

Notes d'environnement

La génération d'images (FAL.ai FLUX.2) n'est PAS disponible dans cet environnement Hermes — FAL_KEY n'est pas défini. N'essayez PAS d'utiliser ImageGenerate pour le travail de logo. Le SVG-first est de toute façon supérieur : il produit de véritables fichiers vectoriels, pas des rasters.

Rendu SVG via Playwright (confirmé fonctionnel en juillet 2026) :

import asyncio
from playwright.async_api import async_playwright
async def render(svg_path, png_path, width=900):
    async with async_playwright() as p:
        browser = await p.chromium.launch()
        page = await browser.new_page(viewport={'width': width, 'height': int(width*0.9)})
        await page.goto(f'file://{svg_path}')
        await asyncio.sleep(0.8)
        await page.screenshot(path=png_path, full_page=False)
        await browser.close()
asyncio.run(render('/chemin/vers/logo.svg', '/chemin/vers/preview.png'))

Livraison sur Telegram : Les images doivent être envoyées en tant que MEDIA:/absolu/chemin/fichier.png sur leur propre ligne. La syntaxe Markdown des images ![alt](path) ne s'affiche PAS sur Telegram — elle échoue silencieusement. N'intégrez jamais de liens d'image dans des blocs de texte Markdown.


Les Règles d'Or

  1. SVG-first pour les logos. Générez des vecteurs SVG directement — pas de génération d'images IA. Les SVG sont infiniment évolutifs, modifiables, animables et se rendent instantanément via Playwright. N'utilisez ImageGenerate que lorsque le concept nécessite une référence photoréaliste ou une texture complexe que le SVG ne peut pas atteindre. Flux de travail confirmé (juillet 2026) : écrivez SVG → rendez en PNG via Playwright headless → envoyez en tant que MEDIA:/chemin/vers/fichier.png sur Telegram.
  2. Itérez visuellement. Allez du concept → prévisualisation PNG → affinez. Les utilisateurs affinent mieux lorsqu'ils voient la marque, pas une description. Générez 2 à 4 variations explorant différentes dimensions (supprimer la flèche, icône uniquement, changement de couleur) avant de verrouiller un concept.
  3. Soyez spécifique dans chaque dimension. "Moderne" ne veut rien dire. "Géométrique, crénage serré, bleu marine + or" signifie quelque chose.
  4. Appliquez la liste À ÉVITER. La plupart des mauvais logos IA proviennent du fait de ne pas dire au modèle ce qu'il doit rejeter.
  5. L'évolutivité n'est pas négociable. Le logo doit être clairement lisible à 16×16.
  6. Une géométrie lisse minimale EST une géométrie animable. Les chemins tracés complexes avec 400 points ne peuvent pas être chorégraphiés.

Phase 1 : Capture du Contexte de Marque

Lire le contexte existant d'abord

Vérifiez si .agents/brand-context.md existe. Si c'est le cas, lisez-le — ne demandez pas d'informations déjà capturées.

Raccourci pour les marques établies : Si la marque a un site Web public, naviguez vers celui-ci et extrayez le contexte de marque visuellement avant de poser des questions. Lisez le texte principal, le slogan, les messages clés, les noms de produits et les couleurs. Vérifiez public/logo.png ou public/favicon.ico dans le dépôt du projet pour voir le logo actuel. Stockez les résultats dans references/<nom-de-la-marque>.md sous cette compétence.

Si aucun contexte n'existe — collectez-le rapidement

Ne posez pas plus de 3 questions :

  1. "Quel est le nom de la marque et que fait-elle ?" (une phrase)
  2. "3 mots qui décrivent la personnalité ?" (par exemple, audacieux, technique, premium)
  3. "Des couleurs qui vous attirent — ou à éviter ?" (ou dites "surprenez-moi")

À partir de ces trois réponses, déduisez tout le reste.

Stockez le contexte de marque

Enregistrez dans .agents/brand-context.md :

# Contexte de Marque

## Marque
- **Nom** : [nom]
- **Catégorie** : [industrie/niche]
- **Description** : [phrase]
- **Stade** : [pré-lancement / début / croissance / établi]

## Personnalité de la Marque
- **Mots de Personnalité** : [mot, mot, mot]
- **Ton** : [formel/décontracté] · [sérieux/ ludique]
- **Concurrents Admirés** : [optionnel]

## Couleur
- **Attiré par** : [couleurs ou "surprenez-moi"]
- **Éviter** : [couleurs si spécifiées]

## Objectifs
- **Utilisation Principale** : [icône d'application / site Web / social / impression / emballage / tout]
- **Exigence Clé** : [doit fonctionner en une couleur / géométrique / etc.]
- **Mouvement** : [la marque a-t-elle besoin d'un logo animé / d'une animation d'apparition / d'un écran de démarrage ?]

Phase 2 : Stratégie d'Identité Visuelle

Définissez la direction du design AVANT de générer quoi que ce soit.

Les 8 Dimensions

DimensionQuestionExemple
NomQu'est-ce qui doit apparaître ?"la plateforme cible"
IndustrieQuel secteur ?Fintech / trading
Valeur FondamentaleEssence de la marque en un motPrécision
PersonnalitéCaractère de la marque ?Audacieux, technique, premium
Émotion de CouleurQue communiquent les couleurs ?Or = richesse/premium
Écart ConcurrentielÀ quoi ressemblent les autres ?"Bloomberg est chargé ; nous voulons minimal"
Type de LogoQu'est-ce qui convient le mieux ?Combinaison / lettrage / abstrait
Contexte d'UtilisationOù vivra-t-il ?Icône d'application, site Web, terminal sombre

Guide de Sélection du Type de Logo

TypeIdéal pourExemple
Mot-symboleNouvelles marques, noms mémorablesGoogle, Coca-Cola
Lettre-symboleNoms longs, abréviationsIBM, HBO
CombinaisonLe plus polyvalentSlack, Spotify
Marque AbstraiteTech, IA, marques mondialesNike, Apple
EmblèmeRestaurants, sports, officielStarbucks
MascotteApplications grand public, marques alimentairesMailchimp
MonogrammeMarques personnelles, agencesVogue

Cadre de Palette de Couleurs

Couleur primaire de la marque — une émotion dominante :

CouleurÉmotionIdéal pour
Bleu marine (#0A1628)Confiance, stabilité,

…

[le contenu réel a été tronqué pour la traduction]

Skills associés