SKILL.md
readonly只读
name
uml
description
使用 PlantUML 语法创建 UML 图。最适合软件建模——类图、时序图、活动图、状态机图、组件图、用例图和部署图,采用简洁的文本符号和自动布局。
UML 图生成器
快速开始: 选择图表类型 → 编写 PlantUML 文本 → 定义元素和关系 → 包裹在 ```plantuml 代码块中。
⚠️ 重要: 始终使用
```plantuml或```puml代码块。切勿使用```text——否则不会渲染为图表。
关键规则
- 每个图表以
@startuml开头,以@enduml结尾 - 使用标准 PlantUML 关键字:
class、interface、abstract、enum、actor、participant、component、node、database、package - 关系使用箭头语法:
-->、<|--、*--、o--、..>、..|> - 使用
skinparam进行全局样式和颜色设置 - 对单个元素使用
#color指定特定颜色 - 注释使用
note left of、note right of、note over或独立note "text" as N
UML 图表类型
| 类型 | 用途 | 关键语法 | 示例 |
|---|---|---|---|
| 类图 | 类结构和关系 | class、interface、<|-- |
class-diagram.md |
| 时序图 | 随时间变化的消息交互 | participant、->、--> |
sequence-diagram.md |
| 活动图 | 工作流和流程 | start、:action;、if/else |
activity-diagram.md |
| 泳道活动图 | 多角色活动带泳道 | |Lane|、:action; |
swimlane-activity-diagram.md |
| 状态机图 | 对象生命周期状态 | state、[*] --> |
state-machine-diagram.md |
| 组件图 | 系统组件组织 | component、[name]、interface |
component-diagram.md |
| 用例图 | 用户-系统交互 | actor、usecase、(name) |
use-case-diagram.md |
| 部署图 | 物理部署架构 | node、artifact、database |
deployment-diagram.md |
| 对象图 | 运行时对象快照 | object "name" as id |
object-diagram.md |
| 包图 | 模块组织 | package "name" |
package-diagram.md |
| 通信图 | 对象协作 | 带序号的消息,使用时序语法 | communication-diagram.md |
| 组合结构图 | 内部类结构 | component 嵌套 port |
composite-structure-diagram.md |
| 交互概览图 | 活动图+时序图组合 | group、ref over |
interaction-overview-diagram.md |
| 轮廓图 | UML 扩展机制 | <<stereotype>> 标签 |
profile-diagram.md |
Mxgraph 模板图标
draw-uml 支持 9500+ 个 mxgraph 模板图标(AWS、Azure、Cisco、Kubernetes 等),通过 mxgraph.* 语法使用。默认颜色自动应用——您无需指定 fillColor 或 strokeColor。
完整模板参考: 参见 stencils/README.md。
语法
mxgraph.<namespace>.<icon> "Label" as <alias>
mxgraph.<namespace>.<icon> "Label" as <alias> #color
mxgraph.<namespace>.<icon> <alias>
mxgraph.<namespace>.<icon>— 模板形状键(例如mxgraph.aws4.lambda、mxgraph.kubernetes.pod)"Label"— 显示文本(包含空格时加引号,单个单词可不加)as <alias>— 用于关系的标识符#color— 可选覆盖颜色(例如#FF6600、#LightBlue)
示例
@startuml
' 简单图标声明
mxgraph.aws4.lambda "Lambda\nFunction" as fn
mxgraph.aws4.api_gateway "API GW" as gw
mxgraph.aws4.dynamodb "DynamoDB" as db
gw --> fn
fn --> db
@enduml
@startuml
' 使用图标的 Kubernetes 架构
mxgraph.kubernetes.ing "Ingress" as ing
mxgraph.kubernetes.svc "Service" as svc
mxgraph.kubernetes.pod "Pod" as pod
mxgraph.kubernetes.deploy "Deployment" as deploy
ing --> svc
svc --> pod
deploy --> pod
@enduml
@startuml
' 混合标准 UML 与模板图标
node "Cloud" {
mxgraph.aws4.ec2 "EC2" as ec2
mxgraph.aws4.rds "RDS" as rds
}
database "Legacy DB" as legacy
ec2 --> rds
rds --> legacy
@enduml






