HomeRessources, Guides & Actualités – Actualités de l’intelligence artificielleMemoDiagram-design : architecture visuelle éditoriale pour agents IA

Diagram-design : architecture visuelle éditoriale pour agents IA

Je refuse les boîtes arrondies génériques, les ombres portées inutiles et le style brut de Mermaid. Chaque fois que je rédigeais un article sur DeepLearn, obtenir un schéma demandait un combat de trente minutes sur Figma. diagram-design résout ce problème précis : générer des schémas HTML et SVG autonomes, taillés pour la publication, directement via Claude Code, Codex ou Pi.

Le principe fondamental reste la suppression. Chaque nœud prouve sa valeur. La couleur d’accent met en valeur un ou deux éléments clés. La densité visuelle cible reste fixée à 4 sur 10. La grille repose sur un pas strict de 4 pixels pour éliminer l’aspect produit par une IA.

Typologies visuelles et catalogue

Le système contient vingt-sept archétypes visuels déclinés en trois variantes statiques : clair minimal, sombre minimal et pleine page éditoriale. Le code HTML s’ouvre dans n’importe quel navigateur sans étape de compilation, sans JavaScript et sans dépendance d’image externe.

Une galerie vivante est accessible en ligne sur cathrynlavery.github.io/diagram-design ou en local via le fichier skills/diagram-design/assets/index.html.

Type visuelDescription et cas d’usageType visuelDescription et cas d’usage
ArchitectureComposants et connexionsFlowchartLogique de décision
SequenceÉchanges de messages dans le tempsState machineÉtats et transitions logiques
ER / data modelEntités et champs relationnelsTimelineÉvénements sur un axe temporel
SwimlaneFlux interfonctionnels distribuésQuadrantPositionnement sur deux axes
NestedHiérarchie par conteneurs imbriquésTreeRelations parent vers enfants
Org chartPérimètres de propriété et routageVennRecouvrement d’ensembles
LayersEmpilement d’abstractionsPyramid / funnelHiérarchie classée ou attrition
Consultant 2×2Matrice de scénarios aux cellules nomméesRadar / SpiderComparaison multiaxe
Loop (Nouveau 2.0)Flywheel et stations autour d’un hub partagéIT current-statePaysage hérité et modernisation
High-LevelStack de bout en bout sur clusterBar chartComparaison catégorique
Line chartTendances chronologiquesGanttTâches et phases de calendrier
Scatter plotDistribution et corrélation de pointsProcessWorkflow séquentiel multiacteur
MedallionStockage de données multi-niveauxData flowÉtapes de pipeline par rôle
DP integrationSources vers cœur puis consommateursDP security matrixPermissions d’accès selon le rôle

La version 2.0 introduit le type Loop pour représenter les boucles vertueuses où les lignes pointillées matérialisent les écritures retour vers la mémoire partagée. La version 2.3 ajoute des motifs sémantiques et un moteur de mouvement optionnel.

Installation sur votre environnement de travail

Le composant fonctionne au sein des outils compatibles avec les Agent Skills.

Claude Code :

/plugin marketplace add cathrynlavery/diagram-design
/plugin install diagram-design@diagram-design

Activez les mises à jour en arrière-plan : tapez /plugin, ouvrez Marketplaces, choisissez diagram-design puis activez Enable auto-update. Utilisez la commande /reload-plugins quand le système le demande.

Codex :

codex plugin marketplace add cathrynlavery/diagram-design
codex plugin add diagram-design@diagram-design

Pour forcer une mise à jour sur Codex : codex plugin marketplace upgrade diagram-design.

Claude Cowork (Organisation) :

Les catalogues d’entreprise exigent un dépôt privé ou interne. Créez un miroir du dépôt public dans votre organisation. Dans Organization settings → Plugins, cliquez sur Add plugin → GitHub, liez le miroir et activez Sync automatically. La synchronisation s’exécute lors de la fusion d’une pull request incrémentant la version du plugin sur la branche par défaut.

Pi :

pi install https://github.com/cathrynlavery/diagram-design

Rechargez la session Pi avec /reload. Lancez le skill par /skill:diagram-design ou exploitez les modèles d’instructions /export-diagram, /import-mermaid et /profile. Pour mettre à jour : pi update --extensions.

Installation locale modifiable :

git clone git@github.com:cathrynlavery/diagram-design.git ~/code/diagram-design
# Pour Pi
pi install ~/code/diagram-design
# Pour Claude Code
ln -s ~/code/diagram-design/skills/diagram-design ~/.claude/skills/diagram-design

Personnalisation de marque et profils

Par défaut, la palette utilise le papier blanc fumée, l’encre noir jais et l’accent mandarine atomique. L’intégration de votre propre charte graphique prend une minute par extraction de site web.

Le flux d’onboarding :

  1. Demande : onboard diagram-design to https://monsite.com
  2. L’agent analyse la page d’accueil et extrait palette et polices.
  3. L’agent mappe les valeurs détectées (papier, encre, atténué, accent, lien).
  4. L’agent propose un diff et vérifie le contraste WCAG AA.
  5. Validation par l’utilisateur et écriture des jetons dans references/style-guide.md.
Élément extrait du siteJeton assigné dans le guide
Fond de balise <body>Jeton paper
Couleur de texte principaleJeton ink
Texte secondaire ou légendeJeton muted
Cartes et conteneursJeton paper-2
Couleur d’action majeure (boutons, titres)Jeton accent
Police des titres <h1>Police de titre (ex: Instrument Serif)
Police du corps <body>Police des nœuds (ex: Geist sans)
Police <code> et <pre>Police technique (ex: Geist Mono)

La génération fournit un reçu de fidélité listant les URL cibles, les rôles de couleur exacts, les graisses de fonte et les polices de secours. Lors du premier appel dans un projet sans style personnalisé, le système suspend son action et propose l’onboarding, l’insertion manuelle ou l’usage du thème par défaut.

Gestion multi-clients : Enregistrez les styles sous forme de profils nommés dans ~/.diagram-design/profiles/<slug>.md. Dans un projet client, ajoutez un fichier marqueur .diagram-design contenant la ligne profile: <slug>. La commande /diagram-design:profile ou /profile gère ces bascules.

Motifs sémantiques et animations

Quand la logique comportementale prime sur l’agencement spatial, le moteur applique d’abord un motif sémantique avant de choisir la forme visuelle. Sept motifs structurent ces cas : files d’attente à goulot d’étranglement, étapes répétées en créneaux, transformation d’entrées brutes, traces d’audit de règles appariées, chemins sécurisés par défaut, catalogues de gouvernance et couches de sécurité compensatoires.

L’animation reste optionnelle. Le mode par défaut reste statique sans script. Quatre modes existent : none, reveal, step et loop. Le premier écran reste complet et lisible sans exécution d’animation. L’option prefers-reduced-motion désactive la lecture et présente le diagramme fixe. Le fichier skills/diagram-design/assets/template-motion.html fournit le contrôleur JavaScript validé.

Primitives graphiques

  • Annotations éditoriales : Texte en italique Instrument Serif relié par une courbe de Bézier en pointillés dans les marges.
  • Filtre Sketchy : Déformation par turbulence SVG pour un rendu dessiné à la main.
  • Jeu de 55 icônes système : Symboles monochromes (serveurs, conteneurs Docker, bases SQL, terminaux, cloud) héritant de currentColor.

Importation depuis draw.io et Mermaid

Le module reconstruit les diagrammes existants pour les intégrer au système de design :

/diagram-design:import architecture.drawio --size=slide-16x9 --detail=simplified --audience=executive
/diagram-design:import-mermaid schema.mmd --format=png --detail=faithful

Les quatre paramètres d’ajustement :

  • Format : html, svg, png ou html+png.
  • Taille (Size) : doc-inline, doc-wide, slide-16x9, slide-4x3, social-og, social-square, print-a4-landscape, print-letter-landscape, fit.
  • Détail : faithful (24 nœuds maximum), balanced (12 nœuds maximum), simplified (7 nœuds maximum).
  • Audience : engineer, mixed ou executive (ajuste la technicité du vocabulaire sans altérer les composants).

Exportation d’images

L’exportation extrait le visuel hors de son cadre éditorial :

# Claude Code
/diagram-design:export chemin/schema.html --png-only --scale=3
/diagram-design:export chemin/schema.html --svg-only

# Pi
/export-diagram chemin/schema.html --png-only --scale=2

L’export SVG incorpore les polices Google Fonts. L’export PNG s’appuie sur Chromium via Playwright (installation : pip install playwright && playwright install chromium). Pour capturer un diagramme animé, ouvrez l’URL avec le paramètre ?motion=static et vérifiez l’attribut data-frame="static".

Arborescence et chargement progressif

L’agent charge uniquement la documentation indispensable à la tâche courante pour préserver sa fenêtre de contexte :

diagram-design/
├── .agents/plugins/marketplace.json
├── .claude-plugin/
├── .codex-plugin/
├── commands/
│   ├── export-diagram.md
│   ├── import-drawio.md
│   ├── import-mermaid.md
│   └── profile.md
├── prompts/
├── skills/
│   └── diagram-design/
│       ├── SKILL.md
│       ├── references/
│       │   ├── style-guide.md
│       │   ├── semantic-patterns.md
│       │   ├── animation.md
│       │   ├── onboarding.md
│       │   ├── profiles.md
│       │   ├── import-drawio.md
│       │   ├── import-mermaid.md
│       │   ├── output-spec.md
│       │   ├── export.md
│       │   └── type-*.md
│       ├── scripts/
│       │   ├── drawio_extract.py
│       │   ├── mermaid_extract.py
│       │   └── self_check.py
│       └── assets/
└── scripts/
    ├── lint-skin.py
    ├── verify-geometry.py
    ├── verify-semantic-motion.py
    └── verify-docs-sync.py

Vérification et validation de conformité

Avant d’enregistrer un diagramme, le système valide sa structure avec self_check.py. Les tests d’intégration vérifient l’accessibilité SVG (balise role="img", attribut aria-labelledby, balises <title> et <desc> sans collisions d’identifiants), la conformité géométrique des étiquettes face au masquage et l’absence d’attributs exécutables non sécurisés.

# Contrôle d'un fichier généré
python3 skills/diagram-design/scripts/self_check.py mon-diagramme.html

# Contrôle du dépôt et des styles
python3 scripts/lint-skin.py --all --baseline
python3 scripts/verify-geometry.py --all
python3 scripts/verify-docs-sync.py

Critères d’exclusion

N’utilisez pas cet outil dans les situations suivantes :

  • Schémas textuels en caractères Unicode pour un terminal ou un message court.
  • Listes d’éléments simples : préférez un tableau HTML ou une liste à puces.
  • Comparaisons avant/après directes : utilisez un tableau comparatif.
  • Schéma contenant une boîte isolée : écrivez une phrase explicative claire.

Leave a Reply

Your email address will not be published. Required fields are marked *