O que plantuml-skill faz?
Diagramas PlantUML (.puml) a partir de linguagem natural via Kroki — sem necessidade de instalar Java. Mais de 10 tipos de UML, 5 temas, PNG/SVG e suporte multi-agente.
Visão Geral
Esta skill capacita seus agentes de IA a gerar diagramas PlantUML diretamente a partir de descrições em linguagem natural. Ela usa o serviço Kroki como backend para renderização, eliminando a necessidade de uma instalação local do Java ou do PlantUML.
Plataformas Suportadas
- Claude Code
- Cursor
- Codex (OpenAI)
- Qualquer agente de IA compatível com skills
Tipos de Diagrama Suportados
- Diagrama de Sequência
- Diagrama de Classe
- Diagrama de Atividade
- Diagrama de Caso de Uso
- Diagrama de Estados
- Diagrama de Componentes
- Diagrama de Implantação
- Diagrama de Objetos
- Diagrama de Comunicação
- Diagrama de Temporização
- Diagrama de Pacotes
Temas Disponíveis
- moderno (padrão)
- monocromático
- azul
- verde
- vermelho
Formatos de Saída
- PNG
- SVG
Como Usar
Uso Básico
Exemplo de prompt:
Crie um diagrama de sequência mostrando o fluxo de login do usuário
A skill irá gerar automaticamente o código PlantUML e renderizá-lo via Kroki.
Parâmetros Avançados
Crie um diagrama de classe para um sistema de e-commerce com tema monocromático
Configuração
Nenhuma configuração adicional é necessária. A skill lida automaticamente com a comunicação com o serviço Kroki.
Como Funciona
- O agente recebe uma descrição em linguagem natural
- A skill converte a descrição em código PlantUML
- O código é enviado para o serviço Kroki
- Kroki renderiza o diagrama e retorna a imagem no formato solicitado
- O agente exibe o diagrama para o usuário
Suporte Multi-Agente
Esta skill foi projetada para ambientes multi-agente, permitindo que diferentes agentes colaborem na criação e refinamento iterativo dos diagramas.
Exemplos
Diagrama de Sequência
@startuml
participant Usuário
participant Sistema
Usuário -> Sistema: Faz login
Sistema --> Usuário: Token de acesso
@enduml
Diagrama de Classe
@startuml
class Cliente {
- id: int
- nome: string
+ getPedidos(): List<Pedido>
}
class Pedido {
- numero: int
- data: Date
+ calcularTotal(): float
}
Cliente "1" --> "*" Pedido
@enduml
Limitações
- A qualidade do diagrama gerado depende da clareza da descrição em linguagem natural
- Diagramas muito complexos podem exigir refinamento iterativo por parte do agente
Licença
MIT