CommunityImagemgithub.com

Draw.io - Criação de Diagramas

Crie e edite arquivos de diagrama draw.io (.drawio) para diagramas de arquitetura, fluxogramas, diagramas de rede e ilustrações técnicas. Use quando o usuário pedir para criar diagramas, visuais de arquitetura, fluxogramas, wireframes, topologia de rede ou qualquer visual editável no draw.io/diagrams.net. Gera arquivos .drawio baseados em XML que podem ser importados diretamente no draw.io desktop ou web.

O que é Draw.io - Criação de Diagramas?

Esta habilidade permite que agentes de IA criem e editem diagramas profissionais no formato nativo do draw.io (.drawio), utilizando XML estruturado. Ela é especialmente útil para desenvolvedores e arquitetos que precisam gerar diagramas de arquitetura de software, fluxogramas, diagramas de rede, topologias de nuvem (AWS, Azure, GCP) e outras ilustrações técnicas. A habilidade suporta a criação de elementos como formas básicas (retângulos, elipses, cilindros), contêineres (swimlanes), conectores com setas, texto formatado e ícones oficiais de provedores de nuvem (AWS resourceIcon, Azure SVG). O fluxo de trabalho inclui determinar o tipo de diagrama, configurar as dimensões da página, adicionar componentes com IDs únicos, conectar elementos e gerar o arquivo .drawio. A saída é um arquivo XML compatível com draw.io desktop e web, podendo ser salvo em diretórios específicos para entrega ao usuário.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/davidodediran/Draw.io-claude-skills/tree/HEAD/drawio-skill

Installed? Explore more Imagem skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Perguntar na sua IA favorita

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

Documentação

Habilidade de Diagrama Draw.io

Crie arquivos de diagrama profissionais e editáveis no formato XML nativo do draw.io.

Formato de Saída

Os arquivos draw.io são XML com esta estrutura:

<mxfile host="app.diagrams.net" modified="DATE" agent="Claude" version="21.0.0" type="device">
  <diagram name="DIAGRAM_NAME" id="UNIQUE_ID">
    <mxGraphModel dx="1200" dy="800" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1100" pageHeight="850" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <!-- Todos os elementos do diagrama vão aqui -->
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>

Tipos de Elementos Principais

Formas Básicas

<!-- Retângulo -->
<mxCell id="id-unico" value="Texto do Rótulo" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
  <mxGeometry x="100" y="100" width="120" height="60" as="geometry" />
</mxCell>

<!-- Retângulo Arredondado -->
<mxCell id="id-unico" value="Rótulo" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
  <mxGeometry x="100" y="100" width="120" height="60" as="geometry" />
</mxCell>

<!-- Cilindro (Banco de Dados) -->
<mxCell id="id-unico" value="Banco de Dados" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
  <mxGeometry x="100" y="100" width="80" height="80" as="geometry" />
</mxCell>

<!-- Elipse -->
<mxCell id="id-unico" value="Nó" style="ellipse;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
  <mxGeometry x="100" y="100" width="80" height="80" as="geometry" />
</mxCell>

Contêineres e Grupos

<!-- Swimlane (Contêiner com Cabeçalho) -->
<mxCell id="id-unico" value="Título da Seção" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=30;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1">
  <mxGeometry x="40" y="40" width="200" height="150" as="geometry" />
</mxCell>

<!-- Barra de Cabeçalho (usando cor primária da marca) -->
<mxCell id="id-unico" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#0066CC;strokeColor=#0066CC;" vertex="1" parent="1">
  <mxGeometry x="40" y="40" width="400" height="40" as="geometry" />
</mxCell>

Conectores e Setas

<!-- Seta Básica -->
<mxCell id="id-unico" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;strokeColor=#666666;" edge="1" parent="1" source="id-fonte" target="id-alvo">
  <mxGeometry relative="1" as="geometry" />
</mxCell>

<!-- Seta Bidirecional -->
<mxCell id="id-unico" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;strokeWidth=2;" edge="1" parent="1">
  <mxGeometry relative="1" as="geometry">
    <mxPoint x="200" y="200" as="sourcePoint" />
    <mxPoint x="400" y="200" as="targetPoint" />
  </mxGeometry>
</mxCell>

<!-- Seta Flex (Seta de Bloco) -->
<mxCell id="id-unico" value="" style="shape=flexArrow;endArrow=classic;html=1;fillColor=#FFB800;strokeColor=#cc9400;width=20;endSize=8;" edge="1" parent="1">
  <mxGeometry relative="1" as="geometry">
    <mxPoint x="200" y="200" as="sourcePoint" />
    <mxPoint x="400" y="200" as="targetPoint" />
  </mxGeometry>
</mxCell>

<!-- Linha Tracejada -->
<mxCell id="id-unico" value="" style="endArrow=classic;html=1;dashed=1;dashPattern=8 8;strokeColor=#999999;" edge="1" parent="1">
  <mxGeometry relative="1" as="geometry">
    <mxPoint x="200" y="200" as="sourcePoint" />
    <mxPoint x="400" y="200" as="targetPoint" />
  </mxGeometry>
</mxCell>

Elementos de Texto

<!-- Texto Simples -->
<mxCell id="id-unico" value="Texto do Rótulo" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;" vertex="1" parent="1">
  <mxGeometry x="100" y="100" width="100" height="30" as="geometry" />
</mxCell>

<!-- Título em Negrito -->
<mxCell id="id-unico" value="Título" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontStyle=1;fontColor=#333333;" vertex="1" parent="1">
  <mxGeometry x="100" y="20" width="300" height="40" as="geometry" />
</mxCell>

<!-- Texto Multilinha (use &#xa; para quebras de linha) -->
<mxCell id="id-unico" value="Linha 1&#xa;Linha 2&#xa;Linha 3" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=top;whiteSpace=wrap;rounded=0;fontSize=10;" vertex="1" parent="1">
  <mxGeometry x="100" y="100" width="150" height="60" as="geometry" />
</mxCell>

Propriedades de Estilo Comuns

Cores (use códigos hexadecimais)

PropriedadeFinalidadeExemplo
fillColorFundofillColor=#dae8fc
strokeColorBordastrokeColor=#6c8ebf
fontColorTextofontColor=#333333

Paleta de Cores Padrão

Azul:    fillColor=#dae8fc;strokeColor=#6c8ebf
Verde:   fillColor=#d5e8d4;strokeColor=#82b366
Amarelo: fillColor=#fff2cc;strokeColor=#d6b656
Laranja: fillColor=#ffe6cc;strokeColor=#d79b00
Vermelho: fillColor=#f8cecc;strokeColor=#b85450
Roxo:    fillColor=#e1d5e7;strokeColor=#9673a6
Cinza:   fillColor=#f5f5f5;strokeColor=#666666

Tipografia

PropriedadeValoresExemplo
fontSizeNúmerofontSize=12
fontStyle0=normal, 1=negrito, 2=itálico, 3=negrito+itálicofontStyle=1
alignleft, center, rightalign=center
verticalAligntop, middle, bottomverticalAlign=middle

Bordas e Efeitos

PropriedadeValoresExemplo
rounded0 ou 1rounded=1
strokeWidthNúmerostrokeWidth=2
dashed0 ou 1dashed=1
dashPatternPadrãodashPattern=8 8
shadow0 ou 1shadow=1

Marca da Empresa (Customizável)

Esta habilidade suporta personalização específica da empresa. Edite references/branding.md para definir as cores e estilos da sua organização.

Marcadores de marca padrão (substitua pelos seus):

Primária:   fillColor=#0066CC;strokeColor=#0052a3;fontColor=#FFFFFF
Secundária: fillColor=#FFB800;strokeColor=#cc9400;fontColor=#333333
Escura:     fillColor=#1a1a2e;strokeColor=#1a1a2e;fontColor=#FFFFFF
Fundo Claro: fillColor=#f0f4f8;strokeColor=#0066CC

Consulte references/branding.md para instruções completas de personalização.

Padrões de Diagrama

Layout de Diagrama de Arquitetura

  1. Barra de título no topo (largura total, cor da marca)
  2. Seções principais como swimlanes ou contêineres arredondados
  3. Componentes como retângulos arredondados dentro das seções
  4. Bancos de dados como cilindros
  5. Sistemas externos nas bordas esquerda/direita
  6. Setas mostrando fluxo de dados/controle
  7. Legenda no canto explicando cores/símbolos
  8. Rodapé com metadados

Arquitetura em Camadas (De Cima para Baixo)

┌─────────────────────────────────────┐
│           Usuários / Clientes       │  ← Camada superior
├─────────────────────────────────────┤
│           API / Interface           │
├─────────────────────────────────────┤
│         Lógica de Negócio           │
├─────────────────────────────────────┤
│         Dados / Armazenamento       │  ← Camada inferior
└─────────────────────────────────────┘

Fluxo da Esquerda para a Direita

┌──────┐     ┌──────────┐     ┌──────────┐
│Fonte │ ──► │ Processo │ ──► │  Alvo    │
└──────┘     └──────────┘     └──────────┘

Melhores Práticas

  1. IDs Únicos: Cada mxCell precisa de um atributo id único
  2. Hierarquia pai: Defina parent="1" para elementos de nível superior
  3. Posicionamento: Use mxGeometry com x, y, largura, altura
  4. Camadas: Elementos definidos depois aparecem na frente
  5. Alinhamento: Use espaçamento x/y consistente (grade de 10-20px)
  6. Cores: Use pares coordenados de preenchimento/borda da paleta
  7. Rótulos: Mantenha o texto conciso; use elementos de texto separados para descrições
  8. Espaço em branco: Deixe margens dentro dos contêineres (padding de 20-40px)

Fluxo de Trabalho

  1. Determine o tipo de diagrama e o padrão de layout
  2. Defina as dimensões da página em mxGraphModel (pageWidth, pageHeight)
  3. Crie a estrutura de contêineres (swimlanes, grupos)
  4. Adicione componentes com IDs únicos
  5. Adicione conectores referenciando os IDs de origem/destino
  6. Adicione rótulos e anotações
  7. Adicione legenda se estiver usando código de cores
  8. Salve como arquivo .drawio
  9. Copie para /mnt/user-data/outputs/ e apresente ao usuário

Ícones de Provedores de Nuvem (AWS, Azure, GCP)

O Draw.io inclui bibliotecas de formas integradas para os principais provedores de nuvem. Use ícones oficiais para diagramas de arquitetura profissionais.

Ícones AWS (Referência Rápida)

AWS usa shape=mxgraph.aws4.resourceIcon com resIcon=mxgraph.aws4.SERVICE:

<mxCell id="lambda-1" value="Lambda" style="sketch=0;outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="1">
  <mxGeometry x="100" y="100" width="78" height="78" as="geometry" />
</mxCell>

Valores comuns de resIcon AWS:

  • Computação: ec2, lambda, ecs, eks, fargate
  • Armazenamento: s3, elastic_block_store, elastic_file_system
  • Banco de Dados: rds, dynamodb, aurora, elasticache, redshift
  • Rede: vpc, cloudfront, route_53, api_gateway, elastic_load_balancing
  • Segurança: iam, cognito, secrets_manager, kms, waf

Cores das Categorias AWS:

  • Computação: #ED7100
  • Armazenamento: #7AA116
  • Banco de Dados: #C925D1
  • Rede: #8C4FFF
  • Segurança: #DD344C

Ícones Azure (Referência Rápida)

Azure usa image=img/lib/azure2/CATEGORY/SERVICE.svg:

<mxCell id="vm-1" value="VM" style="aspect=fixed;html=1;points=[];align=center;image;fontSize=12;image=img/lib/azure2/compute/Virtual_Machine.svg;verticalLabelPosition=bottom;verticalAlign=top;" vertex="1" parent="1">
  <mxGeometry x="100" y="100" width="68" height="68" as="geometry" />
</mxCell>

Caminhos de imagem Azure comuns:

  • compute/Virtual_Machine.svg, compute/Function_Apps.svg
  • containers/Kubernetes_Services.svg
  • storage/Storage_Accounts.svg, storage/Blob_Storage.svg
  • databases/SQL_Database.svg, databases/Azure_Cosmos_DB.svg
  • networking/Virtual_Networks.svg, networking/Load_Balancers.svg
  • security/Key_Vaults.svg, identity/Azure_Active_Directory.svg

Contêineres de Grupo AWS

<!-- VPC -->
<mxCell id="vpc" value="VPC" style="sketch=0;outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=12;fontStyle=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_vpc;strokeColor=#8C4FFF;fillColor=none;verticalAlign=top;align=left;spacingLeft=30;dashed=0;" vertex="1" parent="1">
  <mxGeometry x="40" y="40" width="400" height="300" as="geometry" />
</mxCell>

<!-- Sub-rede Pública -->
grIcon=mxgraph.aws4.group_public_subnet;strokeColor=#7AA116;fillColor=#E9F3E6

<!-- Sub-rede Privada -->
grIcon=mxgraph.aws4.group_private_subnet;strokeColor=#00A4A6;fillColor=#E6F6F7

Referências

Para padrões avançados e listas completas de ícones, consulte:

  • references/architecture-patterns.md - Layouts comuns de diagramas de arquitetura
  • references/style-guide.md - Opções de estilo estendidas e posicionamento de ícones
  • references/cloud-icons.md - Referência completa de ícones AWS, Azure, GCP
  • references/branding.md - Guia de personalização da marca da empresa

Habilidades Relacionadas