Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generates a Mermaid class diagram showing types, inheritance, and composition. Use when visualizing class hierarchies or documenting a module public API.
.claude/skills/athola-class-diagram/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | 523% | 0% |
| case-07 | ✓→✗ | ▼ Worse | -17% | 0% |
| case-08 | ✓→✗ | ▼ Worse | -36% | 0% |
| case-09 | ✓→✗ | ▼ Worse | 81% | 0% |
| case-10 | ✓→✗ | ▼ Worse | 0% | 0% |
Generate a Mermaid class diagram showing types, their relationships, and public interfaces from a codebase.
cartograph:dependency-graph)cartograph:data-flow)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.Transform the structural model into a Mermaid class diagram.
Rules for class diagrams:
classDiagram diagram type<|-- for inheritance*-- for compositiono-- for aggregation..> for dependency/usage<<protocol>> for Python protocols/interfaces<<dataclass>> for dataclasses<<enum>> for enums<<abstract>> for abstract classesnamespaceExample output:
mermaidclassDiagram 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
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).
Show the rendered diagram with analysis notes:
classDiagram syntax generated with at least one classdefinition including public methods or attributes
mcp__claude_ai_Mermaid_Chart__validate_and_render_mermaid_diagramcalled with diagramType: "classDiagram" and returns without error
hierarchies, and composition patterns
__init__, __repr__, etc.)are absent from the generated diagram
aggregation is applied and noted
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 15,550 | 5,253 | -66% | 1 | 1 | 0% | 2,691 | 1,042 | -61% | 0 | 0 | — |
case-02 | fail→fail | 4,340 | 8,821 | +103% | 1 | 1 | 0% | 149 | 1,189 | +698% | 0 | 0 | — |
case-03 | fail→fail | 15,897 | 35,055 | +121% | 1 | 1 | 0% | 3,601 | 1,185 | -67% | 0 | 0 | — |
case-04 | pass→pass | 11,080 | 23,152 | +109% | 1 | 1 | 0% | 1,939 | 3,520 | +82% | 0 | 0 | — |
case-05 | fail→fail | 15,592 | 9,834 | -37% | 1 | 1 | 0% | 2,578 | 1,418 | -45% | 0 | 0 | — |
case-06 | fail→pass | 4,980 | 7,495 | +51% | 1 | 1 | 0% | 320 | 1,993 | +523% | 0 | 0 | — |
case-07 | pass→fail | 7,140 | 6,075 | -15% | 1 | 1 | 0% | 1,401 | 1,159 | -17% | 0 | 0 | — |
case-08 | pass→fail | 11,058 | 6,272 | -43% | 1 | 1 | 0% | 1,845 | 1,174 | -36% | 0 | 0 | — |
case-09 | pass→fail | 7,156 | 12,624 | +76% | 1 | 1 | 0% | 1,271 | 2,296 | +81% | 0 | 0 | — |
case-10 | pass→fail | 7,014 | 7,821 | +12% | 1 | 1 | 0% | 1,218 | 1,223 | +0% | 0 | 0 | — |
case-11 | fail→fail | 6,025 | 5,491 | -9% | 1 | 1 | 0% | 1,163 | 1,021 | -12% | 0 | 0 | — |
case-12 | pass→fail | 11,094 | 5,525 | -50% | 1 | 1 | 0% | 2,030 | 1,090 | -46% | 0 | 0 | — |
case-13 | fail→fail | 15,370 | 34,043 | +121% | 1 | 1 | 0% | 3,025 | 1,164 | -62% | 0 | 0 | — |
case-14 | pass→fail | 10,362 | 6,201 | -40% | 1 | 1 | 0% | 1,849 | 1,078 | -42% | 0 | 0 | — |
case-15 | fail→fail | 2,653 | 26,301 | +891% | 1 | 1 | 0% | 252 | 1,342 | +433% | 0 | 0 | — |
case-16 | fail→fail | 15,000 | 5,911 | -61% | 1 | 1 | 0% | 2,829 | 1,094 | -61% | 0 | 0 | — |
case-17 | fail→fail | 13,197 | 6,429 | -51% | 1 | 1 | 0% | 2,644 | 1,124 | -57% | 0 | 0 | — |
case-18 | fail→fail | 4,323 | 13,272 | +207% | 1 | 1 | 0% | 798 | 1,605 | +101% | 0 | 0 | — |
case-19 | pass→fail | 10,012 | 11,654 | +16% | 1 | 1 | 0% | 1,981 | 1,263 | -36% | 0 | 0 | — |
case-20 | fail→fail | 20,525 | 23,985 | +17% | 1 | 1 | 0% | 4,117 | 5,178 | +26% | 0 | 0 | — |
case-21 | fail→fail | 5,613 | 6,366 | +13% | 1 | 1 | 0% | 197 | 1,064 | +440% | 0 | 0 | — |
case-22 | fail→fail | 5,574 | 9,676 | +74% | 1 | 1 | 0% | 338 | 1,670 | +394% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 2 counted toward the lift figure. The other 20 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of -27 percentage points is the difference between those two pass rates over the 2 comparable cases. 12 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.