📊 beautiful-mermaid
Renderiza diagramas Mermaid como SVG e PNG usando a biblioteca Beautiful Mermaid — com temas visuais ricos, saída em alta resolução (4K) e integração com agent-browser para captura de screenshot.
🧩 O que é / o que faz
Definição precisa
beautiful-mermaid é um skill do Claude Code que renderiza diagramas Mermaid como SVG e PNG usando a biblioteca Beautiful Mermaid. A operação é bidirecional: recebe código .mmd (ou uma descrição em linguagem natural) e produz sempre os dois formatos — SVG vetorial e PNG em alta resolução (4K, viewport 3840×2160, largura mínima 1200px do diagrama).
🎣 Quando dispara
O gatilho oficial do skill (campo description) é preciso:
"Render Mermaid diagrams as SVG and PNG using the Beautiful Mermaid library. Use when the user asks to render a Mermaid diagram."
Situações que acionam o skill
Se o usuário mencionar "diagrama Mermaid", "código mermaid", "arquivo .mmd" ou pedir explicitamente para renderizar, o Claude ativa este skill. Não é necessário citar "beautiful-mermaid" — o gatilho é o tipo de diagrama.
🚀 Como melhora suas páginas
Diagramas técnicos elevam significativamente a qualidade de páginas de documentação, cursos e dashboards. O beautiful-mermaid entrega isso com um único comando.
- ✓ Embutir SVG direto na página HTML (vetorial, sem perda)
- ✓ Usar PNG de alta resolução em apresentações e slides
- ✓ Documentar fluxos de API com sequenceDiagram
- ✓ Visualizar arquitetura de banco de dados com erDiagram
- ✓ Escolher tema adequado ao contexto (dark/light/tokyo-night)
- ✗ Usar `-- label -->` (espaço-traço) — prefira `-->|label|`
- ✗ Reutilizar IDs de nós — cada node ID deve ser único
- ✗ Deixar colchetes abertos em labels de nós
- ✗ Usar para diagramas que exigem interatividade complexa
- ✗ Inserir caracteres especiais sem aspas nos labels
O SVG gerado pelo beautiful-mermaid pode ser copiado e embutido diretamente no HTML de módulos como o que você está lendo agora. É a mesma técnica usada nos SVGs futuristas deste curso — vetorial, leve, sem dependência externa.
⚙️ Como funciona por dentro
5 passos sequenciais, sempre nessa ordem — do código Mermaid aos dois arquivos finais.
references/mermaid-syntax.md. Se o código já existe, valida a sintaxe.<output>.svg no diretório atual.bun run scripts/render.ts --code "graph TD; A-->B" --output diagram --theme default
# ou via arquivo:
bun run scripts/render.ts --input diagram.mmd --output diagram --theme tokyo-night
# runtimes alternativos:
npx tsx scripts/render.ts --code "..." --output diagram
deno run --allow-read --allow-write --allow-net scripts/render.ts --code "..."
bun run scripts/create-html.ts --svg diagram.svg --output diagram.html
diagram.svg e diagram.png no diretório de trabalho.Beautiful Mermaid library— núcleo de renderizaçãoscripts/render.ts— renderização SVGscripts/create-html.ts— wrapper HTMLagent-browser— Playwright / screenshot 4Kbun / tsx / deno— runtimes TypeScript
default— claro padrão Mermaiddark— escuro nativoforest— tons verdesneutral— sem cor fortetokyo-night— neon escuro modernobase— minimalista
- Tema não aplicado: verifique
--bge--fgCSS no SVG de saída - Diagrama cortado: use
-->|label|— nunca-- label --> - SVG vazio/malformado: verifique IDs de nós únicos e colchetes fechados nos labels
💬 Exemplo prático + PROMPT pronto
Dois cenários concretos: renderizar código existente e gerar do zero a partir de uma descrição.
Sintaxe Mermaid — exemplos diretos
flowchart TD
A([Início]) --> B[/Receber input/]
B --> C{Válido?}
C -->|Sim| D[Processar]
C -->|Não| E[Retornar erro]
D --> F[(Salvar no DB)]
F --> G([Fim])
E --> G
sequenceDiagram
participant U as Usuário
participant A as App
participant S as Servidor
U->>A: Login (email/senha)
A->>S: POST /auth/login
S-->>A: JWT token
A-->>U: Acesso liberado
Note over S: Valida credenciais
Sempre use C -->|Sim| D com pipe. Nunca C -- Sim --> D (espaço-traço pode causar render incompleto, conforme o SKILL.md).
Renderize o diagrama Mermaid abaixo como SVG e PNG.
Use o tema tokyo-night. Salve como auth-flow.
```mermaid
sequenceDiagram
participant U as Usuário
participant A as App
participant S as Servidor
U->>A: Login (email/senha)
A->>S: POST /auth/login
S-->>A: JWT token
A-->>U: Acesso liberado
```
Gere e renderize um flowchart Mermaid do pipeline CI/CD:
push → build → testes unitários → testes e2e →
deploy staging → aprovação manual → deploy produção.
Use o tema dark. Salve como cicd-pipeline.
Gere um erDiagram Mermaid para um sistema de e-commerce
com entidades: Customer, Order, Product, OrderItem, Payment.
Renderize com tema forest e depois copie o SVG
inline para o arquivo docs/schema.html.
🧬 Combina com / limites
O beautiful-mermaid se encaixa num ecossistema de skills de visualização e apoio. Entender onde começa e termina cada ferramenta evita escolhas erradas.
📊 beautiful-mermaid vs ✏️ excalidraw
- → Diagramas técnicos precisos e estruturados
- → Sintaxe declarativa — você define a lógica, a lib organiza o layout
- → Estilo polido, profissional, temas curados
- → SVG + PNG exportáveis para documentação
- → Ideal para: arquitetura, fluxos de código, BD, CI/CD
- → Diagramas "à mão", sketchy, exploratorios
- → Estilo hand-drawn — comunica "trabalho em progresso"
- → Ótimo para wireframes, rascunhos de arquitetura inicial
- → Interativo — o usuário pode editar no browser
- → Ideal para: UX wireframes, brainstorm visual, sketches de UI
Combina com outros skills do curso
- ✓ Precisa de diagramas técnicos em documentação
- ✓ Quer SVG embutível em HTML ou PNG para slide
- ✓ O diagrama tem estrutura lógica clara (fluxo, sequência, estado)
- ✓ Necessita de múltiplos temas visuais
- ✗ O diagrama é um wireframe ou rascunho conceitual (→ excalidraw)
- ✗ Precisa de diagramas interativos editáveis no browser
- ✗ O conteúdo é uma animação ou diagrama 3D (→ 3d-animation-creator)
- ✗ Precisa de controle total do layout visual de cada elemento
📋 Resumo do Módulo 4.1
O que você aprendeu
- ✓beautiful-mermaid renderiza Mermaid como SVG + PNG usando a biblioteca Beautiful Mermaid
- ✓O gatilho é o usuário pedir para renderizar um diagrama Mermaid — qualquer tipo
- ✓O pipeline tem 5 passos: validar → render.ts → create-html.ts → agent-browser (Playwright) → limpar
- ✓PNG é capturado em 4K (3840×2160) com largura mínima de 1200px no diagrama
- ✓Use sempre
-->|label|para rótulos de aresta — nunca espaço-traço - ✓Mermaid = diagramas técnicos precisos; Excalidraw = rascunhos sketchy e wireframes
- ✓O SVG gerado é embutível inline em HTML — mesma técnica dos SVGs deste curso
O skill que gera diagramas no estilo "à mão" do Excalidraw — wireframes, rascunhos de arquitetura e sketches de UI com visual informal que comunica "em construção".