关于 class-diagram
class-diagram 用于分析代码库,并生成展示类型、关系和公共接口的 Mermaid 类图,适合 API 文档及继承与组合分析,随后通过 Mermaid Chart MCP 渲染图表。
主要功能
- 01探索代码库中的类型
- 02生成 Mermaid 类图
- 03呈现公共方法和属性
- 04梳理继承与组合关系
- 05渲染图表并提供分析说明
适用场景
- 01理解类层次结构
- 02记录模块的公共 API
- 03分析组合与继承模式
MCP 相关
使用 Mermaid Chart MCP 验证并渲染生成的类图。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ athola/ claude-night-market --skill class-diagram安装后在 Claude Code 中输入/class-diagram确认已加载。
详细介绍
类图
生成 Mermaid 类图,展示代码库中的类型、类型之间的关系及其公开接口。
适用场景
- 了解类层次结构和继承关系
- 为模块的公开 API 编写文档
- 分析组合与继承模式
- 回答“有哪些类型,以及它们之间有什么关系?”
不适用场景
- 模块级导入(使用
cartograph:dependency-graph) - 运行时数据流动(使用
cartograph:data-flow)
工作流
步骤 1:探索代码库
调度代码库探索 Agent:
Agent(cartograph:codebase-explorer)
Prompt: Explore [scope] and return a structural model.
Focus on classes, dataclasses, protocols, type aliases,
inheritance, and composition for a class diagram.
Extract: class names, methods (public only), attributes,
parent classes, and composed types.
步骤 2:生成 Mermaid 语法
将结构模型转换为 Mermaid 类图。
类图规则:
- 使用
classDiagram图表类型 - 仅展示公开方法和关键属性
- 使用 Mermaid 关系表示法:
<|--表示继承*--表示组合o--表示聚合..>表示依赖/使用
- 为特殊类型添加构造型:
<<protocol>>表示 Python 协议/接口<<dataclass>>表示数据类<<enum>>表示枚举<<abstract>>表示抽象类
- 最多显示 12-15 个类
- 使用
namespace对相关类进行分组 - 省略私有方法和双下划线方法
- 显示方法的返回类型
输出示例:
classDiagram
class ResumeSession {
+Path config_path
+dict data
+load() ResumeSession
+to_pdf(Path) Path
+to_html(Path) Path
}
class ResumeError {
<<abstract>>
+str message
+str context
}
class ValidationError {
+list~str~ fields
}
class RenderError {
+str template
}
ResumeError <|-- ValidationError
ResumeError <|-- RenderError
ResumeSession ..> ResumeError
步骤 3:通过 MCP 渲染
调用 Mermaid Chart MCP 进行渲染:
mcp__claude_ai_Mermaid_Chart__validate_and_render_mermaid_diagram
prompt: "Class diagram of [scope]"
mermaidCode: [generated syntax]
diagramType: "classDiagram"
clientName: "claude-code"
如果渲染失败,请修复语法并重试(最多重试 2 次)。
步骤 4:展示结果
展示渲染后的图表,并附上分析说明:
- 类和关系的总数
- 已识别的关键继承层次结构
- 记录的组合模式
完成标准
- 生成 Mermaid
classDiagram语法,且至少包含一个带有公开方法或属性的类定义 - 调用
mcp__claude_ai_Mermaid_Chart__validate_and_render_mermaid_diagram,传入diagramType: "classDiagram",且调用成功、无错误 - 分析说明包含类总数、已识别的继承层次结构和组合模式
- 生成的图表中不包含私有方法和双下划线方法(
__init__、__repr__等) - 图表最多包含 15 个类;如果范围内的类超过 15 个,则应用聚合并注明
评论
支持 Markdown