Communitygithub.com

lidorshimoni/visualize

Padrão de visualização de arquitetura e fluxo. Gera diagramas Mermaid e C4 padronizados e sintaticamente válidos para designs de sistemas, fluxos de dados e máquinas de estado.

O que é visualize?

O skill Visualize é um padrão especializado que transforma descrições textuais de arquiteturas, algoritmos complexos, interações multi-agentes e modelos de dados em diagramas visuais claros e padronizados usando a sintaxe Mermaid. É fundamentado na teoria da carga cognitiva e no Modelo C4 de Arquitetura de Software, tornando abstrações de sistema imediatamente verificáveis por humanos e agentes. O skill oferece quatro arquétipos principais de diagramas: arquitetura de componentes e limites (com fluxogramas aninhados), fluxos de solicitação/resposta (diagramas de sequência com linhas de vida de ativação), máquinas de estado e ciclos de vida (diagramas de estado) e modelos de dados relacionais (diagramas ER). Ele impõe regras de segurança na sintaxe Mermaid para evitar erros comuns, como exigir aspas em rótulos de nós com caracteres especiais e limitar os tipos de diagrama aos suportados pelo Mermaid. Útil para engenheiros de software, arquitetos de sistemas e agentes de IA que precisam documentar, analisar ou comunicar designs de sistema de forma visual e consistente, este skill funciona em qualquer plataforma que suporte sintaxe Mermaid, como Claude Code, Cursor e GitHub Markdown.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Visualize: Padrão de Visualização de Arquitetura e Fluxo

Intenção

Transformar arquiteturas textuais, algoritmos complexos, interações multi-agentes e modelos de dados em diagramas visuais inequívocos usando a sintaxe Mermaid padrão.

Fundamentação Teórica

Baseado na teoria da carga cognitiva e no Modelo C4 para Arquitetura de Software (Brown, 2018). Modelos visuais fundamentam descrições abstratas de sistemas, tornando limites, fluxos de dados e transições de estado instantaneamente verificáveis por humanos e agentes.

Arquétipos Padrão de Diagramas

1. Arquitetura de Componentes e Limites (C4 Container / Componente)

Use flowchart TD ou flowchart LR com subgráficos para representar camadas arquiteturais:

flowchart TD
    subgraph Client["Camada de Cliente"]
        Web["Aplicação Web (React)"]
        CLI["Ferramenta CLI (Python)"]
    end

    subgraph Gateway["API Gateway"]
        Proxy["Proxy Reverso / Nginx"]
        Auth["Serviço de Autenticação (JWT)"]
    end

    subgraph Core["Serviços Principais"]
        App["Mecanismo de Aplicação"]
        Worker["Trabalhador Assíncrono em Segundo Plano"]
    end

    subgraph Data["Camada de Persistência"]
        DB[("PostgreSQL")]
        Queue[("Fila Redis")]
    end

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

2. Fluxo de Requisição / Resposta e Protocolo (Diagrama de Sequência)

Use sequenceDiagram com linhas de vida de ativação para mostrar interações cronológicas:

sequenceDiagram
    autonumber
    actor Usuário
    participant Agente as Agente de Codificação
    participant Ferramenta as Executor de Ferramentas
    participant Git as Controle de Versão

    Usuário->>Agente: Solicitar implementação de funcionalidade
    Agente->>Ferramenta: Executar teste com falha (Vermelho)
    Ferramenta-->>Agente: Teste falhou conforme esperado
    Agente->>Ferramenta: Escrever código mínimo (Verde)
    Agente->>Ferramenta: Executar suíte de testes
    Ferramenta-->>Agente: Todos os testes passaram
    Agente->>Git: Confirmar alteração atômica
    Git-->>Agente: Hash de confirmação gerado
    Agente-->>Usuário: Relatar tarefa concluída

3. Máquinas de Estado e Ciclos de Vida (Diagrama de Estado)

Use stateDiagram-v2 para estados de entidade, status de tarefas ou ciclos de vida de conexões:

stateDiagram-v2
    [*] --> Rascunho
    Rascunho --> EmRevisão: Submeter para Revisão
    EmRevisão --> Aprovado: Passar Verificação
    EmRevisão --> NecessitaAlterações: Bloqueio Encontrado
    NecessitaAlterações --> EmRevisão: Reenviar Correção
    Aprovado --> EmImplementação: Iniciar Implementação
    EmImplementação --> Concluído: Todos os Testes Passam
    Concluído --> [*]

4. Modelos de Dados e Relacionamentos (Diagrama Entidade-Relacionamento)

Use erDiagram para esquemas relacionais e modelos de domínio:

erDiagram
    PROJETO ||--o{ ESPECIFICACAO : contém
    ESPECIFICACAO ||--o{ TICKET : decompoe_em
    TICKET ||--o{ COMMIT : implementado_por
    TICKET {
        string id PK
        string titulo
        string status
        string bloqueado_por
    }

Regras de Segurança de Sintaxe Mermaid

  1. Sempre Coloque Aspas em Rótulos de Nós com Caracteres Especiais:
    • id["Rótulo (Informação Extra)"] em vez de id[Rótulo (Informação Extra)].
  2. Apenas Tipos de Diagrama Suportados:
    • Fluxogramas (flowchart TD), Sequência (sequenceDiagram), Estado (stateDiagram-v2), Classe (classDiagram), ER (erDiagram).
  3. Evite HTML Bruto em Texto de Nós: Use Markdown puro ou texto limpo dentro de strings de nós.

Citações e Proveniência

  1. O Modelo C4 para Arquitetura de Software: Brown, S. (2018). Software Architecture for Developers: Visualise, document and explore your software architecture. Leanpub.
  2. Padrão de Gráficos Mermaid: Sveidqvist, K., et al. (2014-2026). Mermaid: Sintaxe inspirada em Markdown para gerar gráficos e diagramas (https://mermaid.js.org/).
  3. Teoria da Carga Cognitiva em Visualização de Software: Sweller, J. (2011). Cognitive Load Theory. Psychology of Learning and Motivation, Vol. 55.

Habilidades Relacionadas