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 viaforeignObjectouborder-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 lerdu cercle SVG correspond aurde 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.pngsur 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 :
- 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.
- 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.
- 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 :
conic-gradient()CSS dans unforeignObjectdiv — fonctionne dans les navigateurs, rendu via Playwrightborder-image: conic-gradient(...) 1sur un<div>dansforeignObject- Repliez-vous sur un
strokecirculaire avec unlinearGradientmulti-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  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
- 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.pngsur Telegram. - 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.
- Soyez spécifique dans chaque dimension. "Moderne" ne veut rien dire. "Géométrique, crénage serré, bleu marine + or" signifie quelque chose.
- 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.
- L'évolutivité n'est pas négociable. Le logo doit être clairement lisible à 16×16.
- 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 :
- "Quel est le nom de la marque et que fait-elle ?" (une phrase)
- "3 mots qui décrivent la personnalité ?" (par exemple, audacieux, technique, premium)
- "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
| Dimension | Question | Exemple |
|---|---|---|
| Nom | Qu'est-ce qui doit apparaître ? | "la plateforme cible" |
| Industrie | Quel secteur ? | Fintech / trading |
| Valeur Fondamentale | Essence de la marque en un mot | Précision |
| Personnalité | Caractère de la marque ? | Audacieux, technique, premium |
| Émotion de Couleur | Que communiquent les couleurs ? | Or = richesse/premium |
| Écart Concurrentiel | À quoi ressemblent les autres ? | "Bloomberg est chargé ; nous voulons minimal" |
| Type de Logo | Qu'est-ce qui convient le mieux ? | Combinaison / lettrage / abstrait |
| Contexte d'Utilisation | Où vivra-t-il ? | Icône d'application, site Web, terminal sombre |
Guide de Sélection du Type de Logo
| Type | Idéal pour | Exemple |
|---|---|---|
| Mot-symbole | Nouvelles marques, noms mémorables | Google, Coca-Cola |
| Lettre-symbole | Noms longs, abréviations | IBM, HBO |
| Combinaison | Le plus polyvalent | Slack, Spotify |
| Marque Abstraite | Tech, IA, marques mondiales | Nike, Apple |
| Emblème | Restaurants, sports, officiel | Starbucks |
| Mascotte | Applications grand public, marques alimentaires | Mailchimp |
| Monogramme | Marques personnelles, agences | Vogue |
Cadre de Palette de Couleurs
Couleur primaire de la marque — une émotion dominante :
| Couleur | Émotion | Idéal pour |
|---|---|---|
| Bleu marine (#0A1628) | Confiance, stabilité, |
…
[le contenu réel a été tronqué pour la traduction]