Receber por email
← Voltar para o catálogo

plantuml

Gera diagramas PlantUML a partir de descrições de texto e os converte em imagens PNG/SVG. Use para criar diagramas, gerar PlantUML, converter puml para imagem, extrair diagramas de markdown ou preparar markdown para Confluence. Suporta todos os tipos de diagramas PlantUML, incluindo UML e não-UML como diagramas ER.

47estrelas
Atualizado há 10 meses

Ver no GitHub ↗

Como adicionar

/plugin marketplace add SpillwaveSolutions/plantuml

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/plantuml/svg)](https://www.skillteca.com.br/skills/plantuml)

Alerta por categoria

Receba novas skills de Design e Frontend toda segunda

1 email curto, só com as skills novas de Design e Frontend. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

PlantUML Diagram Generation and Conversion

Table of Contents

  • [Purpose](#purpose)
  • [When to Use This Skill](#when-to-use-this-skill)
  • [Prerequisites](#prerequisites)
  • [Creating Diagrams](#creating-diagrams)
  • [Diagram Type Identification](#diagram-type-identification)
  • [Resilient Workflow](#resilient-workflow-primary---recommended)
  • [Converting Source Code to Diagrams](#converting-source-code-to-diagrams)
  • [Converting Diagrams to Images](#converting-diagrams-to-images)
  • [Standalone .puml Files](#convert-standalone-puml-files)
  • [Markdown Processing](#extract-and-convert-from-markdown)
  • [Direct Command-Line Usage](#direct-command-line-usage)
  • [Best Practices](#best-practices)
  • [Troubleshooting](#troubleshooting)
  • [References](#references)

Purpose

This skill enables comprehensive PlantUML diagram creation and conversion workflows. PlantUML is a text-based diagramming tool that generates professional diagrams from simple, intuitive syntax.

Core capabilities:

  1. Create diagrams from natural language descriptions
  2. Convert source code to architecture diagrams (Spring Boot, FastAPI, Python ETL, Node.js, React)
  3. Convert standalone .puml files to PNG or SVG images
  4. Extract puml code blocks from markdown and convert to images
  5. Process linked .puml files in markdown (![diagram](path/to/diagram.puml))
  6. Validate PlantUML syntax without conversion
  7. Replace markdown diagrams with image links for publication (Confluence, Notion)

When to Use This Skill

Activate for:

  • Diagram creation requests (e.g., "Create a sequence diagram showing authentication flow")
  • Code architecture visualization (e.g., "Create deployment diagram for my Spring Boot app")
  • .puml file to image conversion
  • Markdown files containing ```puml code blocks or linked .puml files
  • Confluence or Notion markdown preparation (documents with PlantUML diagrams require conversion first)
  • Specific diagram types: UML (sequence, class, activity, state, component, deployment, use case, object, timing) or non-UML (ER, Gantt, mindmap, WBS, JSON/YAML, network, Archimate, wireframes)
  • PlantUML syntax validation

Confluence/Notion uploads: If markdown contains PlantUML diagrams, run conversion FIRST before upload.

Prerequisites

Before creating diagrams, verify the PlantUML setup:

python scripts/check_setup.py

Required components:

| Component | Purpose | Installation | |-----------|---------|--------------| | Java JRE/JDK 8+ | Runtime | https://www.oracle.com/java/technologies/downloads/ | | plantuml.jar | Diagram generator | https://plantuml.com/download (place in ~/plantuml.jar or set PLANTUML_JAR) | | Graphviz (optional) | Complex layouts | https://graphviz.org/download/ |

Creating Diagrams

Diagram Type Identification

Identify the appropriate diagram type based on user intent:

| User Intent | Diagram Type | Reference | |-------------|--------------|-----------| | Interactions over time | Sequence | references/sequence_diagrams.md | | System structure with classes | Class | references/class_diagrams.md | | Workflows, decision flows | Activity | references/activity_diagrams.md | | Object states and transitions | State | references/state_diagrams.md | | Database schemas | ER (Entity Relationship) | references/er_diagrams.md | | Project timelines | Gantt | references/gantt_diagrams.md | | Idea organization | MindMap | references/mindmap_diagrams.md | | System architecture | Component | references/component_diagrams.md | | Actors and features | Use Case | references/use_case_diagrams.md | | All 19 types | See navigation hub | references/toc.md |

Syntax resources:

  • references/toc.md: Navigation hub linking to all diagram types
  • references/common_format.md: Universal elements (delimiters, metadata, comments, notes)
  • references/styling_guide.md: Modern <style> syntax for visual customization

Resilient Workflow (Primary - Recommended)

For reliable diagram generation with error recovery, follow the 4-step resilient workflow:

Step 1: Identify Diagram Type & Load Reference

  • Identify diagram type from user intent
  • Load references/[diagram_type]_diagrams.md for syntax guide
  • Consult references/toc.md if ambiguous

Step 2: Create File with Structured Naming

./diagrams/<markdown_name>_<num>_<type>_<title>.puml

Example: ./diagrams/architecture_001_sequence_user_auth.puml

Step 3: Convert with Error Handling (max 3 retries)

If conversion fails:

  1. Check references/troubleshooting/toc.md for error classification
  2. Load specific guide from references/troubleshooting/[category]_guide.md
  3. Check references/common_syntax_errors.md for diagram type

Step 4: Validate & Integrate

  1. Verify image file exists
  2. Add image link: ![title](diagrams/filename.png)
  3. Keep .puml source file for future edits

Full documentation: references/workflows/resilient-execution-guide.md

Quick Syntax Reference

Common elements:

  • Delimiters: @startuml / @enduml (required)
  • Comments: ' Single line or /' Multi-line '/
  • Relationships: -> (solid), --> (dashed), ..> (dotted)
  • Labels: A -> B : Label text

Minimal examples (see references/[type]_diagrams.md for comprehensive syntax):

' Sequence: references/sequence_diagrams.md
@startuml
Alice -> Bob: Request
Bob --> Alice: Response
@enduml
' Class: references/class_diagrams.md
@startuml
class Animal { +move() }
class Dog extends Animal { +bark() }
@enduml
' ER: references/er_diagrams.md
@startuml
entity User { *id: int }
entity Post { *id: int }
User ||--o{ Post
@enduml

Converting Source Code to Diagrams

The examples/ directory contains language-specific templates for converting common application architectures:

| Application Type | Directory | Key Diagrams | |------------------|-----------|--------------| | Spring Boot | examples/spring-boot/ | Deployment, Component, Sequence | | FastAPI | examples/fastapi/ | Deployment, Component (async routers) | | Python ETL | examples/python-etl/ | Architecture with Airflow | | Node.js | examples/nodejs-web/ | Express/Nest.js components | | React | examples/react-frontend/ | SPA deployment, component architecture |

Workflow:

  1. Identify application type
  2. Review example in examples/[app-type]/
  3. Map code structure to diagram patterns
  4. Copy and adapt the example .puml file
  5. Use Unicode symbols from references/unicode_symbols.md for semantic clarity

Converting Diagrams to Images

Convert Standalone .puml Files

# Convert to PNG (default)
python scripts/convert_puml.py diagram.puml

# Convert to SVG
python scripts/convert_puml.py diagram.puml --format svg

# Specify output directory
python scripts/convert_puml.py diagram.puml --format svg --output-dir images/

Extract and Convert from Markdown

CRITICAL for Confluence/Notion: Run this FIRST before upload if markdown contains PlantUML diagrams.

# Process embedded ```puml blocks AND linked ![](diagram.puml) files
python scripts/process_markdown_puml.py article.md

# Convert to SVG format
python scripts/process_markdown_puml.py article.md --format svg

# Validate syntax only (for CI/CD)
python scripts/process_markdown_puml.py article.md --validate

Outputs:

  • article_with_images.md: Markdown with image links
  • images/: Directory with generated images

IDE-Friendly Workflow: Keep diagrams as .puml files during development for IDE preview, then convert for publication.

Direct Command-Line Usage

# Basic conversion
java -jar ~/plantuml.jar diagram.puml

# SVG with custom output
java -jar ~/plantuml.jar --svg --output-dir out/ diagram.puml

# Batch conversion
java -jar ~/plantuml.jar "**/*.puml" --svg

See references/plantuml_reference.md for comprehensive command-line options.

Best Practices

Diagram Quality:

  • Use descriptive filenam
Compartilhar X LinkedIn