Communitygithub.com

lidorshimoni/visualize

Modèle de visualisation d'architecture et de flux. Génère des diagrammes Mermaid et C4 standardisés et syntaxiquement valides pour les architectures système, les flux de données et les machines à états.

Qu'est-ce que visualize ?

Ce skill permet aux agents AI (comme Claude Code, Cursor, Codex) de transformer des descriptions architecturales textuelles, des algorithmes complexes, des interactions multi-agents et des modèles de données en diagrammes visuels clairs en utilisant la syntaxe standard Mermaid. Il est basé sur les principes de la théorie de la charge cognitive et du modèle C4 pour l'architecture logicielle (Brown, 2018), ce qui permet de rendre les limites, les flux de données et les transitions d'état immédiatement vérifiables. Le skill propose quatre archétypes de diagrammes principaux : les diagrammes d'architecture par composants (flowchart), les diagrammes de séquence pour les interactions temporelles, les diagrammes d'état pour les cycles de vie, et les diagrammes entité-relation pour les modèles de données. Il inclut également des règles de sécurité syntaxique pour garantir que les diagrammes générés sont toujours valides, comme l'utilisation de guillemets pour les étiquettes contenant des caractères spéciaux et la limitation aux types de diagrammes Mermaid pris en charge.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lidorshimoni/agentic-coding-design-patterns/tree/HEAD/.agents/skills/visualize

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Visualiser : Modèle de visualisation d'architecture et de flux

Intention

Transformer des architectures textuelles, des algorithmes complexes, des interactions multi-agents et des modèles de données en diagrammes visuels non ambigus en utilisant la syntaxe standard Mermaid.

Fondement théorique

Enraciné dans la théorie de la charge cognitive et le Modèle C4 pour l'Architecture Logicielle (Brown, 2018). Les modèles visuels ancrent les descriptions abstraites des systèmes, rendant les limites, les flux de données et les transitions d'état instantanément vérifiables par les humains et les agents.

Archétypes de diagrammes standards

1. Architecture des composants et des limites (Conteneur / Composant C4)

Utilisez flowchart TD ou flowchart LR avec des sous-graphes pour représenter les couches architecturales :

flowchart TD
    subgraph Client["Couche Client"]
        Web["Application Web (React)"]
        CLI["Outil CLI (Python)"]
    end

    subgraph Gateway["Passerelle API"]
        Proxy["Proxy Inverse / Nginx"]
        Auth["Service d'Authentification (JWT)"]
    end

    subgraph Core["Services Cœur"]
        App["Moteur d'Application"]
        Worker["Travailleur Arrière-plan Asynchrone"]
    end

    subgraph Data["Couche de Persistance"]
        DB[("PostgreSQL")]
        Queue[("File Redis")]
    end

    Web --> Proxy
    CLI --> Proxy
    Proxy --> Auth
    Auth --> App
    App --> Queue
    Queue --> Worker
    Worker --> DB
    App --> DB

2. Flux Requête / Réponse et Protocole (Diagramme de séquence)

Utilisez sequenceDiagram avec des lignes de vie d'activation pour montrer les interactions chronologiques :

sequenceDiagram
    autonumber
    actor Utilisateur
    participant Agent as Agent de Codage
    participant Outil as Exécuteur d'Outils
    participant Git as Contrôle de Version

    Utilisateur->>Agent: Demande d'implémentation de fonctionnalité
    Agent->>Outil: Exécuter le test échouant (Rouge)
    Outil-->>Agent: Le test a échoué comme prévu
    Agent->>Outil: Écrire le code minimal (Vert)
    Agent->>Outil: Exécuter la suite de tests
    Outil-->>Agent: Tous les tests sont passés
    Agent->>Git: Commiter le changement atomique
    Git-->>Agent: Hash du commit généré
    Agent-->>Utilisateur: Signaler la tâche terminée

3. Machines à états et cycles de vie (Diagramme d'état)

Utilisez stateDiagram-v2 pour les états d'entité, les statuts de tâches ou les cycles de vie de connexion :

stateDiagram-v2
    [*] --> Brouillon
    Brouillon --> EnRevue: Soumettre pour révision
    EnRevue --> Approuvé: Réussir la vérification
    EnRevue --> ModificationsNécessaires: Bloqueur trouvé
    ModificationsNécessaires --> EnRevue: Soumettre le correctif
    Approuvé --> EnCours: Démarrer l'implémentation
    EnCours --> Terminé: Tous les tests passent
    Terminé --> [*]

4. Modèles de données et relations (Diagramme entité-relation)

Utilisez erDiagram pour les schémas relationnels et les modèles de domaine :

erDiagram
    PROJET ||--o{ SPÉCIFICATION : contient
    SPÉCIFICATION ||--o{ TICKET : décompose_en
    TICKET ||--o{ COMMIT : implémenté_par
    TICKET {
        string id PK
        string titre
        string statut
        string bloqué_par
    }

Règles de sécurité de la syntaxe Mermaid

  1. Toujours mettre entre guillemets les étiquettes de nœuds avec des caractères spéciaux :
    • id["Étiquette (Info Supplémentaire)"] au lieu de id[Étiquette (Info Supplémentaire)].
  2. Seuls les types de diagrammes pris en charge :
    • Diagrammes de flux (flowchart TD), Diagrammes de séquence (sequenceDiagram), Diagrammes d'état (stateDiagram-v2), Diagrammes de classes (classDiagram), Diagrammes ER (erDiagram).
  3. Éviter le HTML brut dans le texte des nœuds : Utilisez du Markdown pur ou du texte clair dans les chaînes de nœuds.

Citations et provenance

  1. Le Modèle C4 pour l'Architecture Logicielle : Brown, S. (2018). Software Architecture for Developers: Visualise, document and explore your software architecture. Leanpub.
  2. Standard de représentation graphique Mermaid : Sveidqvist, K., et al. (2014-2026). Mermaid: Markdown-inspired syntax for generating charts and diagrams (https://mermaid.js.org/).
  3. Théorie de la charge cognitive en visualisation logicielle : Sweller, J. (2011). Cognitive Load Theory. Psychology of Learning and Motivation, Vol. 55.

Skills associés