btczoa/diagram-design

Crie diagramas profissionais como arquivos HTML auto-contidos: arquitetura, fluxogramas, sequência, ER, Gantt, UML e mais. Suporta importação de .drawio, Mermaid e .excalidraw.

O que é diagram-design?

Esta skill capacita agentes de IA (como Claude Code, Cursor ou Codex) a gerar diagramas de alta qualidade como arquivos HTML auto-contidos com SVG inline e um sistema de design editorial completo. Oferece suporte a 45 tipos visuais — incluindo arquitetura, fluxogramas, diagramas de sequência, máquinas de estado, modelos ER, gráficos Gantt, diagramas UML, mapas de jornada do usuário e muito mais — além da capacidade de importar formatos como .drawio, Mermaid e .excalidraw. A skill é projetada para projetos de marca: antes do primeiro diagrama, ela verifica se o guia de estilo foi personalizado, evitando skins padrão não profissionais. Seu fluxo de onboarding orienta o usuário a customizar cores e tipografia a partir de uma URL, skill instalada, pasta local, tokens colados ou perfis salvos. A filosofia central é que 'o movimento de maior qualidade é geralmente a exclusão' — cada nó deve representar uma ideia distinta, e a densidade alvo é de 4/10 para garantir clareza. A skill também impõe anti-padrões universais (como evitar modos escuros genéricos, sombras ou uso excessivo de cores de destaque) e fornece guias detalhados para cada tipo visual, além de padrões semânticos que vinculam comportamento a representações visuais.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add btczoa/diagram-design-skill

Installed? Explore more Produtividade e Colaboração skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Perguntar na sua IA favorita

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

Documentação

Design de Diagramas

Crie diagramas como arquivos HTML auto-contidos com SVG inline e um sistema de design editorial.

Quarenta e cinco tipos visuais. Padrões semânticos descrevem comportamento; referências de tipo descrevem layout.


0. Configuração inicial — verificação do guia de estilo

Antes de gerar seu primeiro diagrama em um novo projeto, verifique se o guia de estilo foi personalizado.

Não envie diagramas com a skin padrão silenciosamente em um projeto com marca.

Primeiro, resolva qualquer marcador .diagram-design do projeto conforme references/profiles.md. Um marcador resolvido com sucesso seleciona seu perfil e ignora esta verificação. Essa referência é responsável por falhas, pelo padrão protegido e pelo comportamento de salvamento.

Abra references/style-guide.md e verifique os tokens padrão. Se ainda forem os padrões fornecidos (fundo #f5f5f5, tinta #2d3142, destaque #bf4520), pause e pergunte ao usuário:

"Este é seu primeiro diagrama neste projeto e o guia de estilo ainda é o padrão. Personalizar agora? Opções: (a) URL do site, (b) skill instalada, (c) pasta local/sistema de design, (d) colar tokens, (e) manter padrão, (f) carregar perfil salvo."

Em seguida, siga a seção correspondente de references/onboarding.md; para (f), siga references/profiles.md.

Depois que o guia de estilo for personalizado (ou o usuário escolher explicitamente o padrão), ignore esta verificação em execuções posteriores. Um cabeçalho de perfil principal nomeia o perfil ativo copiado. Sem cabeçalho, qualquer valor de função semântica ou família tipográfica diferente dos padrões fornecidos significa personalizado-não-salvo: ignore a verificação e ofereça salvá-lo como perfil. Tokens totalmente padrão sem marcador/cabeçalho acionam a verificação. Após o onboarding, ofereça salvar como um perfil de cliente nomeado conforme references/profiles.md.


1. Filosofia

O movimento de maior qualidade geralmente é a exclusão.

Aplicado a esquemas:

  • Cada nó representa uma ideia distinta. Dois nós que sempre andam juntos são um nó.
  • Cada conexão carrega informação. Se o relacionamento for óbvio pelo layout, remova a linha.
  • Coral é editorial, não um sinalizador. 1–2 nós focais por diagrama. Usá-lo em 5 nós apaga o sinal.
  • O esquema não está pronto quando tudo é adicionado. Está pronto quando nada pode ser removido.

Densidade alvo: 4/10. Suficiente para ser tecnicamente completo. Não tão denso a ponto de precisar de um guia. Acima de 9 nós, provavelmente são dois diagramas.


2. Quando Usar

Use para qualquer um dos 45 tipos visuais (§3) quando um leitor aprender mais com um visual do que com prosa, uma tabela ou uma lista com marcadores.

Não use para:

  • Diagramas rápidos em unicode → uma ferramenta separada de texto simples, como wiretext. Esta skill não inclui uma.
  • Listas de coisas → tabela ou marcadores.
  • Antes/depois apenas com atributos → tabela; mudanças de topologia → Architecture delta.
  • "Diagramas" de uma forma → apenas escreva a frase.

Antes de desenhar, pergunte: O leitor aprenderia mais com isso do que com um parágrafo bem escrito? Se não, não desenhe.


3. Seleção: padrão semântico, depois tipo visual

Quando comportamento, estado, imposição ou risco carregam o significado, primeiro carregue references/semantic-patterns.md e escolha um padrão principal. Em seguida, escolha o tipo visual mais próximo para o layout. Se nenhum padrão corresponder, escolha o tipo diretamente.

Gatilho comportamentalPadrão semântico → tipo mais próximo
Fan-in, profundidade de fila, capacidade finita, gargaloFila Fan-in / Gargalo → Data flow
Slots repetidos de Pergunta / Entrada / Governança / Saída entre estágiosFramework de estágios com slots semânticos → Process
Conversa ou entrada solta se torna um artefato durável estruturadoEntrada não estruturada → artefato estruturado → Data flow
Duas trilhas de regras precisam de aprovado/reprovado/pulado/não-alcançado e primeira divergênciaTrilhas pareadas de avaliação de política → Flowchart
Limites de confiança mais caminhos de ingresso ou implantação permitidos/proibidosCaminho pavimentado seguro → Architecture
Controles agrupados por onde são aplicadosCatálogo de governança / controle → Layer stack
Defesas compensam lacunas anteriores e o risco residual se propagaCamadas de segurança compensatórias → Layer stack
Decomposição hierárquica endereçável por ID, precisando de E/S, restrições e link de código por blocoDecomposição de bloco rastreável → Tree
Um sujeito progride por fases, espera, tentativas, cancelamento e resultados terminaisMapa de fases do ciclo de vida → State Machine

O padrão é dono dos primitivos semânticos e de seu orçamento mais restrito; o tipo é dono da gramática de layout. Use references/animation.md apenas quando movimento for solicitado ou esclarecer materialmente uma mudança ordenada; estático permanece o padrão.

Guia de tipos visuais (45)

Se você está mostrando…UseReferência
Componentes + conexões em um instantâneo; escopos administrativo vs. tráfego aninhadosArchitecturetype-architecture.md
Mudança estrutural entre topologias sincronizadas Antes / Depois, com um livro-razão de MudançasArchitecture deltatype-architecture-delta.md
Cenário de TI legado por fase ou departamento; mostra o estado antesIT current-statetype-it-state.md
Lógica de decisão com ramificaçõesFlowcharttype-flowchart.md
Mensagens ordenadas no tempo entre atoresSequencetype-sequence.md
Estados + transições + guardasState machinetype-state.md
Entidades + campos + relacionamentosER / data modeltype-er.md
Eventos posicionados no tempoTimelinetype-timeline.md
Processo multifuncional com transferênciasSwimlanetype-swimlane.md
Posicionamento / priorização em dois eixosQuadranttype-quadrant.md
Múltiplas entidades pontuadas em 3–5 critérios quantitativosRadar / Spidertype-radar.md
Uma série quantitativa entre categorias cíclicas; ângulo=categoria, raio=magnitudePolar charttype-polar.md
Ciclo de reforço; a última etapa alimenta a primeira e um hub acumula estadoLooptype-loop.md
Hierarquia por contenção / escopoNestedtype-nested.md
Relacionamentos Pai → filhosTreetype-tree.md
Propriedade humana/agente/equipe, reporte, roteamento, escalaçãoOrg charttype-org-chart.md
Níveis de abstração empilhadosLayer stacktype-layers.md
Partes de um objeto separadas ao longo de um eixo: desmontagem, unboxing, ordem de montagemExploded axonometrictype-exploded.md
Um andar ou local visto de cima em um ângulo: salas com móveis, edifícios por faseAxonometric plantype-axonometric-plan.md
Sobreposição entre conjuntosVenntype-venn.md
Hierarquia classificada ou queda de conversãoPyramid / funneltype-pyramid.md
Comparação quantitativa entre categoriasBar charttype-bar.md
Um total inicial conectado a um total final por contribuições assinadas (ponte orçamentária, deltas de headcount)Waterfalltype-waterfall.md
Parte-de-todo onde os tamanhos relativos são a históriaTreemaptype-treemap.md
Dados tabulados cruzados; preenchimento codifica valor por célulaHeatmaptype-heatmap.md
Tendências contínuas ao longo do tempo, mudança entre exatamente dois estados (slopegraph), uma distribuição por série (ridgeline) ou movimento de classificação em vários instantâneos (bump)Line charttype-line.md
Tarefas e fases em uma linha do tempoGantttype-gantt.md
Correlação ou distribuição de duas variáveis; bolha (três variáveis), beeswarm (uma variável, ponto por item) e box plot (sumário de cinco números por grupo) variantesScatter plottype-scatter.md
Pilha de dados ponta a ponta em um cluster de contêineresHigh-Leveltype-high-level.md
Processo sequencial multi-ator com transferências de dadosProcesstype-process.md
Armazenamento de dados em várias camadas com níveis de qualidade e políticas de acessoMedalliontype-medallion.md
Fluxo de dados com escopo de função: quem faz o quê em cada etapa do pipelineData flowtype-data-flow.md
Topologia de integração de uma plataforma de dados — fontes → núcleo → consumidoresDP integrationtype-dp-integration.md
Matriz de permissões de acesso por função / componenteDP security matrixtype-dp-security-matrix.md
Uma quantidade se dividindo e mesclando entre estágios, largura da banda = quantidadeSankeytype-sankey.md
Causas de um efeito observado, agrupadas por categoria (análise de causa raiz)Fishbonetype-fishbone.md
Cadeia de valor contra evolução — o que construir, comprar e o que está mudandoWardley maptype-wardley.md
Trabalho em andamento por estado, com limites de WIP e itens bloqueadosKanbantype-kanban.md
O que uma pessoa faz nas etapas de uma experiência e como se senteUser journeytype-journey.md
O que o cliente faz vs. o que o serviço esconde, entre estágios, com uma linha de visibilidadeService blueprinttype-service-blueprint.md
Onde o software é executado — zonas, hosts, artefatos, réplicas, portasDeploymenttype-deployment.md
O que depende do quê, com fan-in e ciclos que uma árvore não pode expressarDependency graphtype-dependency.md
Classes com operações, herança, composição (outros caminhos UML em outro lugar)UML classtype-uml-class.md
Espinha dorsal narrativa dividida em releases, com a linha de corteStory maptype-story-map.md
Tabelas físicas: tipos SQL, restrições, índices, chaves estrangeiras em nível de colunaDatabase schematype-db-schema.md

Regras práticas:

  • Se uma tabela de 3 colunas comunica a mesma coisa, escolha a tabela.
  • Se dois tipos parecem úteis, escolha o eixo dominante; um padrão semântico pode adicionar primitivos específicos de comportamento, não uma segunda gramática de layout.
  • Se você ultrapassou o orçamento de complexidade (§7), divida em uma visão geral + detalhe.

Sempre carregue a referência de tipo escolhida vinculada no guia antes de desenhar. Quando roteado acima, carregue também semantic-patterns.md; quando animação for escolhida, carregue animation.md.

Confirmar antes de desenhar

Antes de renderizar, declare o plano em uma mensagem curta: o tipo visual escolhido (e padrão semântico, se roteado), o preset de tamanho e qualquer coisa que o orçamento de complexidade (§7) forçará para fora. Se o usuário estiver acessível, deixe-o redirecionar antes de você desenhar; se não, prossiga e observe as suposições ao lado do entregável. Pule a pausa apenas quando a solicitação já definir tipo, tamanho e conteúdo exatamente.


4. Antipadrões Universais

Estes marcam esquemas "AI slop" de qualquer tipo:

AntipadrãoPor que falha
Modo escuro + brilho ciano/roxoParece "técnico" sem decisões de design
JetBrains Mono como fonte "dev" genéricaMono é para conteúdo técnico — portas, comandos, URLs. Nomes vão em Geist sans.
Caixas idênticas para cada nóApaga a hierarquia
Legenda flutuando dentro da área do diagramaColide com nós
Rótulos de seta sem retângulo de máscaraSangra através da linha
Texto vertical writing-mode em setasIlegível
3 cartões de resumo de largura igual como padrãoGrade genérica — varie larguras
Sombra em qualquer elementoSombras estão fora. Bordas estão dentro.
rounded-2xl em caixasRaio máximo 6–10px ou nenhum
Coral em cada nó "importante"Coral é 1–2 acentos editoriais, não um sistema de sinalização
Reproduzir o layout do renderizador do MermaidImporta espaçamento e roteamento automáticos em vez de fazer um layout editorial
Qualquer violação das seis regras de conector da §6Falha automática: inclinações diagonais, rótulos tocando seu traço, máscaras cortadas por um nó posterior, caminhos sobrepostos, pontos de anexação compartilhados, trânsito atrás de uma caixa não terminal

Antipadrões específicos de tipo vivem em cada referência de tipo vinculada no guia.


5. Sistema de Design

O sistema de design é personalizável. references/style-guide.md é a fonte única da verdade para cores, tipografia, tokens e a paleta padrão; este arquivo nomeia funções semânticas (paper, ink, muted, accent, link, …). Para aplicar uma marca, edite style-guide.md ou execute o fluxo baseado em URL em references/onboarding.md.

Quando as especificações abaixo ou nas referências de tipo mencionarem "tinta", "destaque", "sutil", etc., procure o valor hexadecimal atual em style-guide.md.

Trechos de referência de tipo escrevem funções como placeholders: {ink}, {ink @ 0.40} para uma função com opacidade, e {node-name}, {sublabel}, {eyebrow}, {arrow-label}, {title}, {callout} para fontes. Resolva cada place holder em style-guide.md antes de emitir.

Funções semânticas (de relance)

FunçãoPropósito
paper, paper-2Fundo da página e fundo do contêiner
inkTexto / traço principal
muted, softSegundo plano

6. Regras de Conector

Todo conector deve seguir estas seis regras:

  1. Sem inclinações diagonais. Ângulos de 90° apenas. Curvas Bezier são permitidas quando a alternativa seria um emaranhado.
  2. Rótulos não tocam seu traço. Um retângulo de máscara (fill: papel, 2px de padding) separa o texto da linha.
  3. Máscaras não são cortadas por nós posteriores. Ordem Z: conector → máscara → nós.
  4. Caminhos não se sobrepõem. Se dois conectores compartilham um segmento, afaste um ou agrupe.
  5. Cada extremidade anexa a um ponto de anexação único. Nenhum ponto compartilhado.
  6. Trânsito não passa atrás de uma caixa que não seja seu destino. Roteie ao redor.

Violar qualquer uma é falha automática.


7. Orçamento de Complexidade

Um diagrama não deve exigir mais de 5 segundos para ser compreendido. Use estas diretrizes:

MétricaLimite
Nós9 máx. (acima disso, dividir)
Conexões1,5× nós (aprox.)
RótulosTodos devem ser legíveis no tamanho final
CoresMáx. 4 funções semânticas ativas (papel, tinta, 1–2 destaques)

Acima de 9 nós, crie um diagrama de visão geral e um de detalhe.


8. Saída

Sempre HTML auto-contido com SVG inline. Opções:

  • HTML (.html) — padrão, visualizável em qualquer navegador
  • SVG (.svg) — extraído do HTML, para incorporação
  • PNG (.png) — rasterizado, para documentos

Use a extensão correta: diagram-name.html, diagram-name.svg, diagram-name.png.


9. Importação

Suporta importação de:

  • .drawio — diagramas do draw.io
  • Mermaid — sintaxe Mermaid (mermaid ... )
  • .excalidraw — arquivos Excalidraw

Após a importação, aplique o sistema de design editorial e limpe quaisquer antipadrões.


10. Referências

Habilidades Relacionadas