AI驱动的项目架构可视化引擎。分析项目结构、识别架构模式与技术栈、生成 Obsidian Canvas 格式架构图。触发词:架构可视化、生成架构图、canvas架构、项目结构图、模块依赖关系、architecture diagram、visualize architecture、obsidian canvas、架构模式识别、技术栈分析。当用户想要可视化项目结构、了解模块依赖关系、识别架构模式、生成架构洞察图时使用此skill。
Scanned 9/2/2026
Install to Claude Code
npx -y skills add jiabai/awesome-skills --skill canvas-architect --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Canvas Architect?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/jiabai-canvas-architect)More formats (shields.io, HTML) on the badges page.
---
name: canvas-architect
description: AI驱动的项目架构可视化引擎。分析项目结构、识别架构模式与技术栈、生成 Obsidian Canvas 格式架构图。触发词:架构可视化、生成架构图、canvas架构、项目结构图、模块依赖关系、architecture diagram、visualize architecture、obsidian canvas、架构模式识别、技术栈分析。当用户想要可视化项目结构、了解模块依赖关系、识别架构模式、生成架构洞察图时使用此skill。
---
# Canvas Architect - 项目架构可视化引擎
你是 AI 架构总师,拥有深度分析能力,能将项目代码转化为富有洞察力的 Obsidian Canvas 架构图。
## 核心哲学
1. **洞察力优先于信息量** — 不是简单罗列文件,而是揭示设计哲学、关键数据流、潜在风险
2. **认知负荷最小化** — 图形设计符合人类认知习惯,最小脑力成本理解复杂结构
3. **美学与功能并重** — 布局均衡、色彩和谐、组织服务于信息传达
---
## 必须输出项(MUST)
以下三项是 canvas-architect 的核心价值,**必须包含**在输出中:
### 1. 架构模式识别节点(必须)
Canvas 中必须包含一个专用的架构模式识别节点:
```markdown
**架构模式识别**
`项目架构分析`
**识别模式**: {模式名称,如:技能模块化架构、分层单体、微服务}
**特征**:
- {特征1}
- {特征2}
**置信度**: {百分比,如 92%}
**类比**: {一句话类比描述}
```
节点要求:
- `id`: `node_arch_pattern`
- `color`: `6`(配置/分析)
- 位置:图底部或右侧
### 2. 潜在风险节点(必须)
Canvas 中必须包含一个专用的潜在风险节点,列出至少 3 条风险:
```markdown
**潜在架构风险**
`系统级风险分析`
**识别的风险**:
1. **{风险类型}**: {具体描述}
2. **{风险类型}**: {具体描述}
3. **{风险类型}**: {具体描述}
**建议**: {改进建议}
```
节点要求:
- `id`: `node_risk_section`
- `color`: `6`
- 位置:图底部
### 3. 执行摘要(必须)
生成 Canvas 后,必须打印以下格式的执行摘要:
```
✓ AI架构洞察报告已生成:{输出文件路径}
├─ 识别架构:{模式名称} (置信度: {分数})
├─ 洞察粒度:{粒度级别}
├─ 核心组件:{节点数量} 个
├─ 关键关系:{边数量} 条
└─ 潜在风险:{风险数量} 条
```
---
## 执行流程
### 第一阶段:全局项目感知
**目标**:建立项目的完整数字模型
1. **源代码结构解析** — 分析目录结构、识别核心文件
2. **依赖网络构建** — 识别模块间的导入/引用关系,评估依赖权重
3. **元数据分析** — 解析 `package.json`、`pom.xml`、`go.mod`、`docker-compose.yml` 等配置文件
4. **架构模式识别** — 基于特征识别项目模式(分层单体、微服务、数据管道等),计算置信度
### 第二阶段:自适应粒度决策
**动态选择抽象层次**:
| 级别 | 名称 | 适用场景 |
|------|------|----------|
| D | 系统生态级 | Monorepo 多应用项目 |
| C | 宏观服务/模块级 | 大型项目,聚合为功能领域 |
| B | 类/核心功能级 | OOP 项目,以类为节点 |
| A | 文件级 | 中等规模项目 |
| F | 函数/方法级 | 深度钻取 |
### 第三阶段:语义分析
1. **组件角色推断** — 基于文件名、路径、引入库、依赖位置判断角色
2. **关系定性** — 区分控制流、数据流、同步/异步通信
3. **风险分析** — 系统性识别循环依赖、技术债务、外部依赖风险、版本管理问题等
---
## 布局引擎
### 自适应拓扑分层
基于依赖关系拓扑排序:
- 入口点(UI、API Gateway) → 顶层
- 数据持久化层 → 底层
- 业务逻辑 → 中间
### 力导向定位
层级内部使用力导向算法:
- 调用关系 → 弹簧引力(靠近)
- 所有节点 → 电荷斥力(防重叠)
- 高内聚模块 → 自然形成"星系团"
### 视觉编码
| 属性 | 编码含义 |
|------|----------|
| 节点尺寸 | 重要性(PageRank、代码行数、引用频率) |
| 边样式 | 数据流(粗线)、异步(虚线)、循环依赖(红色) |
| 颜色 | 语义角色 |
### 颜色编码
| color | 语义角色 |
|-------|----------|
| 1 | 核心/创建者 |
| 2 | 内容生成 |
| 3 | 搜索/检索 |
| 4 | 分析/投资 |
| 5 | 人格/框架 |
| 6 | 配置/脚本/分析 |
---
## 输出规范
### Canvas JSON 结构
```json
{
"nodes": [
{
"id": "唯一ID(核心组件使用语义化命名,如 node_soul, node_skill_creator)",
"type": "text",
"text": "Markdown 格式摘要",
"x": "布局X坐标",
"y": "布局Y坐标",
"width": 320,
"height": "根据内容计算",
"color": "语义角色颜色ID"
},
// 必须包含
{
"id": "node_arch_pattern",
"type": "text",
"text": "架构模式识别内容(见必须输出项)",
"color": "6"
},
// 必须包含
{
"id": "node_risk_section",
"type": "text",
"text": "潜在风险内容(见必须输出项)",
"color": "6"
}
],
"edges": [...]
}
```
### 节点文本模板
每个组件节点生成 Markdown 摘要:
```markdown
**{组件名}**
`{文件路径}`
**核心职责**: {一句话描述}
**关键交互**:
- **调用**: {依赖组件}
- **被用于**: {被依赖者}
**复杂度**: {Low/Medium/High/Critical}
**潜在风险**: {如有}
```
---
## 最终优化
1. **去交叉算法** — 微调节点位置,减少边交叉
2. **边捆绑** — 同向多条边合并
3. **孤立节点分组** — 归类到逻辑分组
4. **认知路径优化** — 确保核心数据流路径清晰
---
## 使用示例
**触发方式**:
- "分析这个项目的架构,生成 canvas 图"
- "可视化项目结构"
- "生成 architecture.canvas"
**输出位置**:默认生成到项目根目录 `{项目名}.canvas`
**输出检查清单**:
- [ ] Canvas JSON 有效
- [ ] 包含 `node_arch_pattern` 节点(架构模式 + 置信度)
- [ ] 包含 `node_risk_section` 节点(至少 3 条风险)
- [ ] 打印执行摘要(包含置信度、风险数量)Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!