Generates a Mermaid class diagram showing types, inheritance, and composition. Use when visualizing class hierarchies or documenting a module public API.
Scanned 5/28/2026
Install to Claude Code
npx -y skills add athola/claude-night-market --skill class-diagram --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Class Diagram?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/athola-class-diagram)More formats (shields.io, HTML) on the badges page.
---
name: class-diagram
description: Generates a Mermaid class diagram showing types, inheritance, and composition. Use when visualizing class hierarchies or documenting a module public API.
---
# Class Diagram
Generate a Mermaid class diagram showing types, their
relationships, and public interfaces from a codebase.
## When To Use
- Understanding class hierarchies and inheritance
- Documenting public APIs of a module
- Analyzing composition vs. inheritance patterns
- Answering "what types exist and how do they relate?"
## Workflow
### Step 1: Explore the Codebase
Dispatch the codebase explorer 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.
```
### Step 2: Generate Mermaid Syntax
Transform the structural model into a Mermaid class
diagram.
**Rules for class diagrams**:
- Use `classDiagram` diagram type
- Show only public methods and key attributes
- Use Mermaid relationship notation:
- `<|--` for inheritance
- `*--` for composition
- `o--` for aggregation
- `..>` for dependency/usage
- Add stereotypes for special types:
- `<<protocol>>` for Python protocols/interfaces
- `<<dataclass>>` for dataclasses
- `<<enum>>` for enums
- `<<abstract>>` for abstract classes
- Limit to 12-15 classes maximum
- Group related classes with `namespace`
- Omit private methods and dunder methods
- Show return types for methods
**Example output**:
```mermaid
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
```
### Step 3: Render via MCP
Call the Mermaid Chart MCP to render:
```
mcp__claude_ai_Mermaid_Chart__validate_and_render_mermaid_diagram
prompt: "Class diagram of [scope]"
mermaidCode: [generated syntax]
diagramType: "classDiagram"
clientName: "claude-code"
```
If rendering fails, fix syntax and retry (max 2 retries).
### Step 4: Present Results
Show the rendered diagram with analysis notes:
- Total classes and relationship count
- Key inheritance hierarchies identified
- Composition patterns noted
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!