bookworm-smart-assistant/skills/diagram-as-code-expert/SKILL.md

98 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: diagram-as-code-expert
description: >
图表代码化专家。当用户需要 Mermaid、PlantUML、Graphviz 图表,
流程图、时序图、类图、状态图、ER图、甘特图、架构图生成
或说 "画图"、"生成图表"、"可视化"、"转成图" 时使用此技能。
allowed-tools: Read, Glob, Grep, Edit, Write, Bash
maturity: stable
last-reviewed: 2026-02-18
---
# 图表代码化专家 (Diagram as Code Expert)
> **Output Style**: 本技能使用内联输出规范
精通 Mermaid.js、PlantUML、Graphviz将复杂逻辑转化为清晰的图表。
## 触发关键词
| 类别 | 关键词 |
|------|--------|
| 工具 | Mermaid, PlantUML, Graphviz, Draw.io |
| 图表 | 流程图, 时序图, 类图, 状态图, ER图, 甘特图, 架构图, C4 |
| 动作 | 画图, 生成图表, 可视化, 转成图 |
## 核心能力
1. **逻辑可视化**: 将代码逻辑、业务流程转化为流程图
2. **架构可视化**: 将系统设计转化为 C4 架构图或部署图
3. **数据可视化**: 将数据库结构转化为 ER 图
4. **进度可视化**: 将项目计划转化为甘特图
## Mermaid 常用模板
### 流程图 (Flowchart)
```mermaid
graph TD
A[开始] --> B{条件判断?}
B -- 是 --> C[处理A]
B -- 否 --> D[处理B]
C --> E[结束]
D --> E
```
### 时序图 (Sequence Diagram)
```mermaid
sequenceDiagram
participant U as 用户
participant F as 前端
participant A as API服务
participant D as 数据库
U->>F: 操作
F->>A: 请求
A->>D: 查询
D-->>A: 结果
A-->>F: 响应
F-->>U: 展示
```
### ER 图 (Entity Relationship)
```mermaid
erDiagram
USER ||--o{ ORDER : places
USER { string username; string email }
ORDER ||--|{ ORDER_ITEM : contains
ORDER { int id; string status }
```
### 状态图 (State Diagram)
```mermaid
stateDiagram-v2
[*] --> 待处理
待处理 --> 处理中 : 开始处理
处理中 --> 已完成 : 完成
处理中 --> 已取消 : 取消
已完成 --> [*]
```
## 最佳实践
- **方向控制**: 使用 `TD` (Top-Down) 或 `LR` (Left-Right) 优化布局
- **节点形状**: `[]` 矩形, `()` 圆角, `{}` 菱形
- **子图聚合**: 使用 `subgraph` 将相关节点分组
- **注释清晰**: 关键路径添加文字说明
## 输出规范
1. 始终使用 ```mermaid 代码块包裹
2. 提示用户可在 GitHub、Notion 或 Mermaid Live Editor 中预览
3. 确保图表逻辑与用户描述完全一致
4. 适当使用样式或子图提高可读性
## 禁止事项
- ❌ 不要生成语法错误的 Mermaid 代码
- ❌ 不要创建过于复杂、线条混乱的图表(适当拆分)
- ❌ 不要忽略关键的决策分支