UML diagram generation including class, sequence, activity, use case, and state diagrams
View on GitHubmelodic-software/claude-code-plugins
formal-specification
plugins/formal-specification/skills/uml-modeling/SKILL.md
January 21, 2026
Select agents to install to:
npx add-skill https://github.com/melodic-software/claude-code-plugins/blob/main/plugins/formal-specification/skills/uml-modeling/SKILL.md -a claude-code --skill uml-modelingInstallation paths:
.claude/skills/uml-modeling/# UML Modeling Skill
## When to Use This Skill
Use this skill when:
- **Uml Modeling tasks** - Working on uml diagram generation including class, sequence, activity, use case, and state diagrams
- **Planning or design** - Need guidance on Uml Modeling approaches
- **Best practices** - Want to follow established patterns and standards
## Overview
Create UML diagrams using PlantUML and Mermaid notation for software design documentation.
## MANDATORY: Documentation-First Approach
Before creating UML diagrams:
1. **Invoke `docs-management` skill** for UML standards guidance
2. **Verify diagram syntax** using appropriate notation (PlantUML/Mermaid)
3. **Base all guidance on UML 2.5 specification**
## UML Diagram Types
### Structural Diagrams
| Diagram | Purpose | When to Use |
|---------|---------|-------------|
| Class | Show classes, attributes, methods, relationships | Domain modeling, design |
| Component | Show components and dependencies | Architecture documentation |
| Deployment | Show physical deployment | Infrastructure planning |
| Object | Show object instances | Specific scenarios |
| Package | Show namespaces/modules | Code organization |
### Behavioral Diagrams
| Diagram | Purpose | When to Use |
|---------|---------|-------------|
| Use Case | Show actor-system interactions | Requirements |
| Sequence | Show message flow over time | API design, protocols |
| Activity | Show workflows and processes | Business processes |
| State Machine | Show state transitions | Lifecycle modeling |
| Communication | Show object interactions | Design patterns |
## Class Diagram
### PlantUML Syntax
```plantuml
@startuml
skinparam classAttributeIconSize 0
abstract class Entity {
+Id: Guid
+CreatedAt: DateTimeOffset
+UpdatedAt: DateTimeOffset
}
class Order extends Entity {
-_lineItems: List<LineItem>
+CustomerId: Guid
+Status: OrderStatus
+Total: Money
--
+AddItem(product: Product, quantity: int): Result<LineItem>
+RemoveItem(lineItemId: