.claude/skills/documentation/diagram-generation/SKILL.md
Geração de diagramas técnicos para tutoriais, artigos e documentação
npx skillsauth add LucasBiason/engineering-knowledge-base diagram-generationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Padrões e ferramentas para criar diagramas em projetos de documentação técnica.
import openai
response = openai.images.generate(
model="dall-e-3",
prompt="Diagrama ilustrativo de algoritmo de ordenação bubble sort",
size="1024x1024",
quality="standard"
)
import google.generativeai as genai
genai.configure(api_key=os.getenv("GEMINI_API_KEY"))
model = genai.GenerativeModel('gemini-2.5-flash-image')
response = model.generate_content(
"Crie um diagrama ilustrativo de algoritmo de ordenação"
)
Para diagramas técnicos, usar Mermaid (não precisa de API):
Sintaxe declarativa que renderiza direto no GitHub/GitLab.
flowchart TD
A[Entrada] --> B{Decisão}
B -->|Sim| C[Ação 1]
B -->|Não| D[Ação 2]
C --> E[Fim]
D --> E
Tipos de diagrama:
flowchart - FluxogramassequenceDiagram - Diagramas de sequênciaclassDiagram - Diagramas de classeerDiagram - Diagramas ERgantt - Cronogramaspie - Gráficos de pizzastateDiagram - Máquinas de estadoMais flexível, precisa de servidor ou extensão.
@startuml
actor User
User -> API: Request
API -> Database: Query
Database --> API: Result
API --> User: Response
@enduml
Diagramas com visual de desenho à mão. Exporta PNG/SVG.
Editor visual completo. Arquivos .drawio são XML editável.
Para diagramas programáticos ou gerados a partir de dados.
import matplotlib.pyplot as plt
import networkx as nx
G = nx.DiGraph()
G.add_edges_from([("A", "B"), ("B", "C"), ("A", "C")])
nx.draw(G, with_labels=True)
plt.savefig("diagram.png")
| Tipo | Ferramenta | Formato | |------|------------|---------| | Fluxo de passos | Mermaid flowchart | Inline no MD | | Arquitetura simples | Mermaid | Inline no MD | | Arquitetura complexa | Draw.io | PNG exportado | | Conceitos abstratos | Excalidraw | PNG exportado |
| Tipo | Ferramenta | Formato | |------|------------|---------| | Sequência de chamadas | Mermaid sequence | Inline | | Classes/Estruturas | Mermaid class | Inline | | Banco de dados | Mermaid ER | Inline | | Infra/Cloud | Draw.io | PNG |
| Tipo | Ferramenta | Formato | |------|------------|---------| | Mapas mentais | Excalidraw | PNG | | Hierarquias | Mermaid flowchart | Inline | | Comparações | Tabelas MD | Texto | | Timelines | Mermaid gantt | Inline |
flowchart TD
START([Início]) --> CHECK{Condição?}
CHECK -->|Verdadeiro| ACTION1[Executar A]
CHECK -->|Falso| ACTION2[Executar B]
ACTION1 --> END([Fim])
ACTION2 --> END
sequenceDiagram
participant C as Cliente
participant S as Servidor
participant D as Database
C->>S: POST /api/data
S->>D: INSERT INTO...
D-->>S: OK
S-->>C: 201 Created
classDiagram
class Animal {
+String nome
+int idade
+comer()
+dormir()
}
class Cachorro {
+latir()
}
Animal <|-- Cachorro
erDiagram
USER ||--o{ ORDER : places
ORDER ||--|{ ITEM : contains
USER {
int id PK
string email
string name
}
ORDER {
int id PK
int user_id FK
date created_at
}
flowchart LR
subgraph Frontend
A[React App]
end
subgraph Backend
B[API Gateway]
C[Auth Service]
D[Core Service]
end
subgraph Data
E[(PostgreSQL)]
F[(Redis)]
end
A --> B
B --> C
B --> D
C --> E
D --> E
D --> F
Para o projeto Engineering Knowledge Base:
engineering-knowledge-base/
└── [seção]/
└── [tutorial]/
├── README.md # Texto com diagramas Mermaid inline
├── assets/
│ ├── architecture.png # Diagramas complexos
│ └── architecture.drawio # Fonte editável
└── notebooks/
└── 01-intro.ipynb # Pode ter diagramas Python
Para diagramas ilustrativos que precisam de estilo visual, usar APIs de imagem:
import openai
response = openai.images.generate(
model="dall-e-3",
prompt="Diagrama ilustrativo de algoritmo de ordenação bubble sort",
size="1024x1024",
quality="standard"
)
import google.generativeai as genai
genai.configure(api_key=os.getenv("GEMINI_API_KEY"))
model = genai.GenerativeModel('gemini-2.5-flash-image')
response = model.generate_content(
"Crie um diagrama ilustrativo de algoritmo de ordenação"
)
Implementação: core/utils/diagram_generator/ - Sistema completo para geração de diagramas ilustrativos usando OpenAI DALL-E ou Google Gemini
Manter simples e documentado.
Antes de finalizar um diagrama:
testing
Execução e análise de testes automatizados
development
Gera resumos didáticos extensos e estruturados de aulas/cursos para cards do Notion. Use ao resumir aulas, apostilas, transcrições ou materiais de estudo para incluir no corpo do card (não apenas no campo Descrição), com flashcards, exemplos de código, diagramas Mermaid, mapa conceitual e perguntas de reforço.
development
Padroniza documentação existente no formato canônico Spec-Driven. Remove duplicação e melhora rastreabilidade.
development
Processo universal e repetível para criar especificações a partir de qualquer input (texto, docs, código). Usado em Plan mode.