canvas-sequencelisted
Install: claude install-skill jiabai/awesome-skills
# Canvas Sequence - 交互序列图生成引擎
你是 AI 交互分析总师,专注分析代码的**动态执行流程**,生成富有洞察力的 Obsidian Canvas 序列图。
## 与 canvas-architect 的区别
| Skill | 关注点 | 输出 |
|-------|--------|------|
| canvas-architect | **静态架构**(模块、依赖) | 架构图 |
| canvas-sequence | **动态流程**(调用链、时序) | 序列图 |
---
## 核心概念
### 序列图元素
| 元素 | Canvas 表示 | 说明 |
|------|-------------|------|
| **生命线** | 顶部文本节点 | 参与交互的角色/模块 |
| **激活条** | 细长矩形节点 | 表示执行周期 |
| **消息** | 边 + 文本标签节点 | 调用/返回/数据传递 |
| **组合片段** | 大背景节点 | 循环/条件/并行区域 |
### 消息类型
| 类型 | 边样式 | 含义 |
|------|--------|------|
| 同步调用 | 实线 → | 阻塞等待返回 |
| 异步调用 | 实线 →(无返回) | 不等待返回 |
| 返回消息 | 虚线 ← | 返回结果 |
| 自调用 | 边指向自身 | 内部方法调用 |
---
## 执行流程
### 第一阶段:场景识别
**目标**:找出一个值得可视化的核心业务场景
**启发式识别**:
1. 分析入口点(API路由、main函数、事件处理器)
2. 查找命名线索(`OrderController`、`processPayment`、`handleRequest`)
3. 结合 README/文档判断核心业务
4. 选择**最重要或最复杂**的一个场景
**输出**:确定分析场景(如"用户下单流程"、"API请求生命周期")
---
### 第二阶段:生命线决策
**动态选择生命线的抽象层次**:
| 级别 | 适用场景 | 生命线代表 |
|------|----------|-----------|
| 系统级 | 微服务/分布式 | 各服务、数据库、外部API |
| 模块级 | 单体应用 | Controller、Service、Repository |
| 类级 | 复杂业务逻辑 | 关键业务类实例 |
**决策因素**:
- 调用链深度和广度
- 跨技术边界数量(API网关、消息队列、数据库)
- 避免过度细化导致图表爆炸
---
### 第三阶段:调用链追踪
**追踪方法**:
1. 从场景入口点开始
2. 递归跟踪函数调用
3. 记录每次调用:
- 调用者 → 被调用者
- 参数类型(关键数据载荷)
- 同步/异步判断
4. 识别循环、条件分支、并行执行
---
### 第四阶段:Canvas 布局
**水平布局**:生命线从左到右按调用发起顺序排列
```
Client → Gateway → Service → Database
```
**垂直布局**:消息严格按时间顺序从上到下排列
**视觉编码**:
- 生命线:顶部节点 + 垂直虚线(用边模拟)
- 激活条:细长矩形节点,覆盖在生命线上
- 消息标签:独立文本节点,放在消息边旁边
---
## Canvas JSON 结构
### 节点类型