modules_analyzer 是一个用于软件模块架构分析的 skill,可以自动分析代码库的模块结构、依赖关系、接口设计和系统架构,并生成包含 Mermaid 可视化图表的完整 Markdown 报告。
- ✅ 多语言支持:支持 C/C++、Python、JavaScript/TypeScript、Java、Go 等多种编程语言
- ✅ 智能模块识别:自动识别项目中的模块,基于文档和代码结构
- ✅ 完整的依赖分析:分析模块间的调用关系,识别调用者和被调用者
- ✅ 详细的接口文档:提取公共接口,生成包含参数、返回值、错误处理的详细文档
- ✅ 可视化图表:使用 Mermaid 生成架构图、依赖图、时序图、控制流图、数据流图
- ✅ 架构评估:识别架构问题,提供改进建议
- ✅ 灵活的分析范围:支持整个工程分析或特定模块分析
当您需要完成以下任务时,此 skill 会自动触发:
- 分析项目的模块结构
- 理解代码库的架构
- 评估模块设计
- 生成架构文档
- 检查依赖关系
- 分析特定模块
- 生成架构图、时序图、控制流图、数据流图
- 任何涉及软件架构、模块划分、接口分析的任务
"分析当前项目的模块结构,生成完整的架构文档"
"分析 calculator 模块的设计,包括它的内部结构、接口文档、依赖关系和调用时序"
"帮我理解这个代码库的架构,生成系统架构图和依赖关系图"
Skill 会生成一个完整的 Markdown 文档,包含:
- 项目概览:项目简介、技术栈、分析范围
- 模块清单:所有模块的表格化列表
- 系统架构:架构概览、架构图(Mermaid)、架构评估
- 模块详细分析:
- 模块概览
- 内部结构和子模块
- 依赖关系(调用者和被调用者)
- 模块在架构中的位置图
- 详细接口文档(功能、参数、返回值、错误处理)
- 调用时序图(Mermaid)
- 控制流图(Mermaid)
- 数据流图(Mermaid)
- 设计评估(优点、问题、建议)
- 依赖关系分析:依赖关系图、依赖分析、架构评估
- 发现的问题和改进建议:架构层面、模块层面、接口层面的问题和建议
- 总结:整体评价和建议
modules_analyzer/
├── SKILL.md # Skill 的主文件,包含所有指令
├── README.md # 本文件
└── evals/
└── evals.json # 测试用例
- 全局扫描,聚焦输出:即使分析单个模块,也扫描整个工程以获取完整的调用上下文
- 文档优先:优先读取项目文档,然后进行代码扫描验证
- 智能过滤:自动排除编译产物目录
- 多维度分析:从系统、模块、接口三个层级进行分析
- 可视化优先:使用 Mermaid 生成清晰的图表
- 实用导向:不仅发现问题,还提供改进建议
- 准确性和完整性:确保接口文档的准确性
查看当前目录下的 模块架构分析报告.md 文件,这是一个完整的分析报告示例,展示了 skill 对 Calculator 项目的分析结果。
生成的报告包含使用 Mermaid 语法的图表。如果您在 VSCode 中只看到代码而不是图表,请查看 MERMAID_SETUP.md 文件获取详细设置指南。
快速解决方案:
- 在 VSCode 中安装扩展 "Markdown Preview Mermaid Support" (bierner.markdown-mermaid)
- 安装后,使用
Ctrl+Shift+V(Windows/Linux) 或Cmd+Shift+V(Mac) 预览 Markdown 文件 - Mermaid 图表应该会自动渲染
或者访问 Mermaid Live Editor 在线查看图表。
Skill 包含 3 个测试用例:
- 整个工程分析:分析当前项目的模块结构,生成完整的架构文档
- 单个模块分析:分析 calculator 模块的设计
- 架构理解:生成系统架构图和依赖关系图
测试用例保存在 evals/evals.json 中。
- C/C++:基于头文件(.h/.hpp)和实现文件(.c/.cpp)
- Python:基于
__init__.py和模块文件 - JavaScript/TypeScript:基于 ES modules 和 CommonJS
- Java:基于包声明和 public class/interface
- Go:基于
go.mod和目录结构
build/,dist/,out/,target/node_modules/,.venv/,venv/,__pycache__/.git/,.idea/,.vscode/- 以及其他明显的编译产物
如果您有任何改进建议或发现了 bug,欢迎提出!
MIT License