--- name: diagrama category: dev-tools description: "Gera diagramas de arquitectura, fluxo, ER e sequência em três formatos: draw.io (.drawio), Excalidraw e Mermaid. Usar quando 'diagrama', 'arquitectura', 'draw.io', 'fluxo', 'ER', 'sequência', 'infra', 'componentes'." version: "1.0.0" created: 2026-04-04 tools: [mcp__claude_ai_Excalidraw__export_to_excalidraw, mcp__mcp-mermaid__generate, Write, Bash] layer: wiki --- # Skill: /diagrama Gera diagramas técnicos em três formatos consoante o caso de uso. Suporta arquitectura de sistemas, fluxogramas, diagramas ER, sequência, infra-estrutura e redes. --- ## Quando usar cada formato | Formato | Quando usar | Output | |---------|------------|--------| | **draw.io** | Diagramas formais para documentação, propostas, clientes | `.drawio` (editável) | | **Excalidraw** | Esboços rápidos, brainstorming visual, estilo whiteboard | `.excalidraw` / MCP | | **Mermaid** | Diagramas como código, versionáveis em Git, embeds Markdown | `.svg` / `.png` | --- ## Processo de execução ### 1. Identificar pedido Quando o utilizador pede um diagrama, detectar: - **Tipo:** arquitectura | fluxo | ER | sequência | rede | organograma | classe - **Formato pretendido:** draw.io (default para doc. formal) | excalidraw | mermaid - **Contexto:** sistemas envolvidos, entidades, actores Se não especificado, perguntar apenas: "draw.io (formal) ou Excalidraw (esboço)?" ### 2. Gerar conteúdo --- ## Geração draw.io (.drawio) O formato draw.io é mxGraph XML. Gerar o XML e guardar como `.drawio`. ### Estrutura base ```xml ``` ### Templates de elementos mxGraph **Rectângulo (componente/serviço):** ```xml ``` **Seta/ligação:** ```xml ``` **Cilindro (base de dados):** ```xml ``` **Cloud (serviço externo):** ```xml ``` **Actor (pessoa/utilizador):** ```xml ``` **Swimlane (grupo/camada):** ```xml ``` ### Paleta de cores Descomplicar | Componente | fillColor | strokeColor | |-----------|-----------|-------------| | Serviço/App | `#dae8fc` | `#6c8ebf` | | Base de dados | `#f8cecc` | `#b85450` | | Fila/Queue | `#d5e8d4` | `#82b366` | | Externo/Cloud | `#fff2cc` | `#d6b656` | | Infra/Servidor | `#e1d5e7` | `#9673a6` | | Claude/IA | `#f0f4ff` | `#4a6cf7` | ### Guardar ficheiro Guardar em `/media/ealmeida/Dados/Hub/tmp/diagramas/` com nome descritivo: ``` YYYY-MM-DD-nome-diagrama.drawio ``` Abrir com: ```bash drawio "/media/ealmeida/Dados/Hub/tmp/diagramas/NOME.drawio" & ``` (ou abrir manualmente com draw.io desktop / draw.io no browser) --- ## Geração Excalidraw Usar o MCP `mcp__claude_ai_Excalidraw__export_to_excalidraw` para diagramas no estilo whiteboard. ### Fluxo 1. Chamar `mcp__claude_ai_Excalidraw__create_view` para iniciar sessão 2. Chamar `mcp__claude_ai_Excalidraw__export_to_excalidraw` com o conteúdo estruturado 3. Informar o utilizador do link/path gerado ### Casos de uso preferidos - Brainstorming e exploração rápida - Diagramas de fluxo com estilo manual - Esboços para reuniões - Arquitecturas de alto nível para comunicação interna --- ## Geração Mermaid Usar o MCP `mcp__mcp-mermaid__generate`