Authoritative reference for PlantUML diagram syntax. Provides UML and non-UML diagram types, syntax patterns, examples, and setup guidance for generating accurate PlantUML diagrams.
View on GitHubmelodic-software/claude-code-plugins
visualization
January 21, 2026
Select agents to install to:
npx add-skill https://github.com/melodic-software/claude-code-plugins/blob/main/plugins/visualization/skills/plantuml-syntax/SKILL.md -a claude-code --skill plantuml-syntaxInstallation paths:
.claude/skills/plantuml-syntax/# PlantUML Syntax Reference ## Overview PlantUML is a Java-based tool that creates diagrams from text descriptions. It supports comprehensive UML diagrams and many non-UML diagram types. **Key advantages:** - Most comprehensive diagram support (15+ types) - Mature C4 model integration with icons/sprites - Extensive customization options - Battle-tested (since 2009) **Requirements:** - Java Runtime Environment (JRE) - GraphViz (for some diagram types) - Or use Docker: `docker run -p 8080:8080 plantuml/plantuml-server` --- ## Diagram Types Quick Reference ### UML Diagrams | Type | Keywords | Best For | | --- | --- | --- | | Sequence | `@startuml` | Interactions, API flows, protocols | | Use Case | `@startuml` | Requirements, user stories | | Class | `@startuml` | OOP design, domain models | | Activity | `@startuml` | Workflows, processes | | Component | `@startuml` | System structure | | Deployment | `@startuml` | Infrastructure, deployment | | State | `@startuml` | State machines | ### Non-UML Diagrams | Type | Keywords | Best For | | --- | --- | --- | | JSON | `@startjson` | JSON structure visualization | | YAML | `@startyaml` | YAML structure visualization | | Wireframe | `@startsalt` | UI mockups | | Gantt | `@startgantt` | Project timelines | | MindMap | `@startmindmap` | Hierarchical ideas | | WBS | `@startwbs` | Work breakdown | | ER | `@startuml` | Database schemas | | C4 | `@startuml` with C4 include | Software architecture | --- ## Basic Syntax All PlantUML diagrams are wrapped in start/end tags: ```plantuml @startuml ' Your diagram code here @enduml ``` **Comments:** - Single line: `' This is a comment` - Block: `/' This is a block comment '/` **Title and captions:** ```plantuml @startuml title My Diagram Title caption This is a caption header Page Header footer Page Footer ' Diagram content @enduml ``` --- ## Quick Reference Card ### Sequence ```plantuml @startuml participant A participant B A -> B: Message A <-- B: Response @endum