diagram-patterns

Diagram Selection & Patterns

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "diagram-patterns" with this command: npx skills add melodic-software/claude-code-plugins/melodic-software-claude-code-plugins-diagram-patterns

Diagram Selection & Patterns

Interactive Diagram Selection

Use AskUserQuestion to understand requirements and recommend the optimal diagram type and tool:

Question 1: Primary Purpose (MCP: CLI best practices - scope selection)

question: "What are you trying to visualize?" header: "Purpose" options:

  • label: "System Architecture (Recommended)" description: "Components, services, containers, deployment"
  • label: "Process/Workflow" description: "Steps, decisions, activities, state transitions"
  • label: "Data Structures" description: "Classes, entities, relationships, schemas"
  • label: "Interactions" description: "Sequence of calls, messages, API flows"

Question 2: Tool Constraints (MCP: CLI best practices - output format)

question: "Do you have tool or platform constraints?" header: "Tool" options:

  • label: "GitHub/GitLab Markdown (Recommended)" description: "Use Mermaid - native rendering, no setup"
  • label: "Maximum Customization" description: "Use PlantUML - more styling, sprites, icons"
  • label: "Enterprise Architecture" description: "Use PlantUML - C4, ArchiMate support"
  • label: "No Preference" description: "I'll recommend based on diagram type"

Use these responses to apply the decision tree and recommend the appropriate diagram type and tool.

Overview

This skill helps you choose the right diagram type and tool for your visualization needs. Use this when you need to decide:

  • Which diagram type best represents your information

  • Which tool (Mermaid or PlantUML) to use

  • How to structure the diagram for clarity

Diagram Type Decision Tree

START | +-- Interactions over time? --> SEQUENCE DIAGRAM | +-- Object/class structure? --> CLASS DIAGRAM | +-- Database schema? --> ER DIAGRAM | +-- State transitions? --> STATE DIAGRAM | +-- Process/workflow? --> FLOWCHART or ACTIVITY DIAGRAM | +-- System architecture? | | | +-- High-level context? --> C4 CONTEXT | +-- Containers/services? --> C4 CONTAINER or COMPONENT | +-- Infrastructure? --> DEPLOYMENT DIAGRAM | +-- Project timeline? --> GANTT CHART | +-- Git branching? --> GIT GRAPH (Mermaid only) | +-- Hierarchical ideas? --> MINDMAP (PlantUML only) | +-- Data structure? --> JSON DIAGRAM (PlantUML only)

Tool Selection Guide

Quick Decision Matrix

Need Recommended Tool Reason

GitHub/GitLab rendering Mermaid Native support

Complex C4 models PlantUML Mature, better rendering

Simple sequence/class Mermaid Simpler syntax

MindMaps PlantUML Only option

JSON visualization PlantUML Only option

GitGraph Mermaid Only option

ER diagrams Mermaid Better default rendering

State diagrams Mermaid Cleaner output

Maximum customization PlantUML More styling options

Zero setup Mermaid Browser-based

Enterprise architecture PlantUML Better ArchiMate, C4

Detailed Comparison

Feature Mermaid PlantUML

Setup None (browser) Java + GraphViz

Markdown integration Native (GitHub, GitLab) Requires image embedding

Learning curve Gentle Steeper

Customization Limited Extensive

C4 support Experimental Mature

Diagram types ~10 15+

JSON/MindMap No Yes

GitGraph Yes No

When to Choose Mermaid

  • Documentation that lives in GitHub/GitLab repos

  • Quick diagrams that need no setup

  • Teams with mixed technical backgrounds

  • Simple to moderately complex diagrams

When to Choose PlantUML

  • Complex enterprise architecture (C4, ArchiMate)

  • Maximum control over appearance

  • Specialized diagrams (MindMap, JSON, WBS)

  • Need for sprites/icons

Quick Reference: Choosing Diagram Type

Question If Yes, Use

Showing message flow between systems? Sequence

Modeling OOP classes and relationships? Class

Documenting database tables? ER

Showing valid state transitions? State

Depicting a process or algorithm? Flowchart

High-level system overview? C4 Context

Service/container architecture? C4 Container

Timeline or schedule? Gantt

Git branching strategy? Git Graph

Brainstorming hierarchy? MindMap

References

For detailed patterns and examples, see:

Reference Content When to Load

sequence-class-patterns.md API flows, auth, async, domain models, repositories Creating sequence/class diagrams

er-state-flow-patterns.md Blog/e-commerce schemas, order lifecycle, decision trees Creating ER/state/flow diagrams

c4-patterns.md C4 context/container, tool recommendations Creating architecture diagrams

best-practices.md General guidelines, diagram tips, anti-patterns Improving diagram quality

Delegation

For detailed syntax reference:

  • Mermaid syntax: Invoke visualization:mermaid-syntax skill

  • PlantUML syntax: Invoke visualization:plantuml-syntax skill

Test Scenarios

Scenario 1: Choosing a diagram type

Query: "What diagram should I use to show API request flow?"

Expected: Skill activates, recommends sequence diagram, provides tool comparison

Scenario 2: Tool selection

Query: "Should I use Mermaid or PlantUML for C4 diagrams?"

Expected: Skill activates, recommends PlantUML for complex C4, Mermaid for simple context

Scenario 3: Pattern lookup

Query: "Show me an authentication sequence diagram pattern"

Expected: Skill activates, directs to sequence-class-patterns.md reference

Last Updated: 2025-12-28

Version History

  • v1.1.0 (2025-12-28): Refactored to progressive disclosure - extracted patterns to references/

  • v1.0.0 (2025-12-26): Initial release

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

design-thinking

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

plantuml-syntax

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

system-prompt-engineering

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

resume-optimization

No summary provided by upstream source.

Repository SourceNeeds Review