use-case-diagramlisted
Install: claude install-skill witchwasin/Axiom-PMO
# PMO Skill: Use Case Diagram
> **Related Skills:** Also load `pmo-lark-plantuml` when writing .puml files.
> Load `references/use-case-checklist.md` for validation checklist (7 ข้อ) before finalize.
Use this skill when creating PlantUML Use Case Diagrams. Save output in `./<ProjectName>/UseCase/`
---
## Pre-requisites: Ask Before Creating
**Must ask the user:**
- How many Actors? What are their names?
- What is the System boundary name?
- Are there Sub-systems?
Never assume actors or use cases without asking.
---
## Syntax Reference
### Actor
```plantuml
' Keyword style
actor Customer
actor "System Admin" as SA
' Colon style
:Customer:
:System Admin: as SA
```
### Use Case
```plantuml
' Parenthesis style
(Login)
(Place Order)
(View Report) as UC1
' Keyword style
usecase "Place Order" as UC2
usecase UC3 as "Multi-line
Use Case Name"
```
### System Boundary (Rectangle)
```plantuml
rectangle "System Name" {
(Use Case 1)
(Use Case 2)
}
' Nested sub-system
rectangle "Main System" {
rectangle "Sub-system A" {
(Feature 1)
}
}
```
### Relationship Types
| Relationship | Syntax | Line | Arrow | Label |
|-------------|--------|------|-------|-------|
| **Association** | `Actor -- (UC)` or `Actor --> (UC)` | Solid | Open/none | Optional |
| **Include** | `(UC1) ..> (UC2) : <<include>>` | Dashed | Open | `<<include>>` |
| **Extend** | `(UC1) ..> (UC2) : <<extend>>` | Dashed | Open | `<<extend>>` |
| **Generalization** | `Child --|> Parent` | Solid | Filled