Diagram Design Visual Types: Complete Guide to All 27 Supported Diagram Types
Diagram Design supports exactly 27 distinct visual diagram types, each defined in dedicated reference files under skills/diagram-design/references/ with specialized rendering rules and layout engines.
The Diagram Design library (maintained by cathrynlavery/diagram-design) provides a comprehensive taxonomy of diagram types for technical documentation, system architecture, and data visualization. Every type ships with its own reference specification that governs layout constraints, connector primitives, and styling defaults—ensuring consistent output across HTML, PNG, and interactive exports.
Complete List of All 27 Diagram Design Visual Types
The 27 diagram types span six functional categories: classic charting, hierarchical structures, process workflows, state-based visualizations, specialized layouts, and enterprise architecture patterns.
Classic Charting Types
| # | Diagram Type | Reference File | Primary Use Case |
|---|-------------|----------------|------------------|
| 1 | Bar | type-bar.md | Categorical data comparison |
| 2 | Line | type-line.md | Trend analysis over time |
| 3 | Scatter | type-scatter.md | Correlation and distribution analysis |
| 4 | Radar | type-radar.md | Multi-variable performance metrics |
| 5 | Pyramid | type-pyramid.md | Hierarchical proportions (e.g., Maslow's hierarchy, food chain) |
| 6 | Quadrant | type-quadrant.md | Two-axis positioning matrices (e.g., Gartner Magic Quadrant) |
Hierarchical and Structural Types
| # | Diagram Type | Reference File | Primary Use Case |
|---|-------------|----------------|------------------|
| 7 | Tree | type-tree.md | Parent-child node relationships |
| 8 | Org-Chart | type-org-chart.md | Organizational reporting structures |
| 9 | Nested | type-nested.md | Containment hierarchies with visual nesting |
| 10 | Architecture | type-architecture.md | System and software architecture diagrams |
| 11 | Layers | type-layers.md | Stack-based abstractions (OSI model, tech stacks) |
Process and Workflow Types
| # | Diagram Type | Reference File | Primary Use Case |
|---|-------------|----------------|------------------|
| 12 | Flowchart | type-flowchart.md | Decision logic and procedural flows |
| 13 | Process | type-process.md | Business process modeling |
| 14 | Sequence | type-sequence.md | Object interaction over time (UML) |
| 15 | Swimlane | type-swimlane.md | Cross-functional process flows |
| 16 | Gantt | type-gantt.md | Project schedules and timelines |
| 17 | Timeline | type-timeline.md | Chronological event visualization |
State and Dynamic System Types
| # | Diagram Type | Reference File | Primary Use Case |
|---|-------------|----------------|------------------|
| 18 | State | type-state.md | Finite state machines and state transitions |
| 19 | IT State | type-it-state.md | IT infrastructure state monitoring |
| 20 | Data Flow | type-data-flow.md | Information movement through systems (DFD) |
Specialized Layout Types
| # | Diagram Type | Reference File | Primary Use Case |
|---|-------------|----------------|------------------|
| 21 | Venn | type-venn.md | Set theory and overlapping categories |
| 22 | Loop | type-loop.md | Cyclical processes and feedback systems |
| 23 | Medallion | type-medallion.md | Centered hub-and-spoke diagrams |
| 24 | High-Level | type-high-level.md | Executive summary visualizations |
Enterprise Architecture Types
| # | Diagram Type | Reference File | Primary Use Case |
|---|-------------|----------------|------------------|
| 25 | DP Security Matrix | type-dp-security-matrix.md | Data protection security posture assessment |
| 26 | DP Integration | type-dp-integration.md | Data protection integration patterns |
| 27 | ER | type-er.md | Entity-relationship database modeling |
Working with Diagram Types in Diagram Design
Specifying Types in CLI Commands
Diagram Design exposes the --type flag on import commands to override automatic type detection. Each command references the corresponding type-*.md specification at skills/diagram-design/references/[type-name].md.
Import a Mermaid file with explicit type assignment:
diagram-design import-mermaid my-diagram.mmd --type gantt
Force architecture type detection on Draw.io import:
diagram-design import-drawio my-diagram.drawio --type architecture
Export with default type inference:
diagram-design export-diagram --output diagram.html
Rendering Pipeline Architecture
All 27 types flow through a unified rendering engine defined in the core library. The process works as follows:
- Type Detection: Automatic inference from source file structure, or manual override via
--type - Spec Loading: Reference file loaded from
skills/diagram-design/references/type-[name].md - Constraint Validation: Python scripts in
scripts/*.pyenforce type-specific rules (e.g., edge constraints for DP Security Matrix) - Template Selection: HTML template chosen from
assets/template-*.html(light, dark, full variants) - Output Generation: Final render to HTML, PNG, or interactive format
Key Source Files for Diagram Type Implementation
| File Path | Purpose |
|---|---|
skills/diagram-design/references/*.md |
Authoritative specifications for all 27 diagram types |
commands/import-mermaid.md |
CLI docs for Mermaid import with --type option |
commands/import-drawio.md |
CLI docs for Draw.io import with --type option |
commands/export-diagram.md |
Export command documentation |
assets/template-*.html |
Rendering templates for visual output |
scripts/*.py |
Validation scripts enforcing diagram-type constraints |
Selecting the Right Diagram Type
Choose based on your communication goal:
- Comparing quantities → Bar, Radar
- Showing change over time → Line, Timeline, Gantt
- Modeling decisions → Flowchart, State, IT State
- Mapping relationships → ER, Tree, Venn
- Architecting systems → Architecture, Layers, Data Flow
- Compliance documentation → DP Security Matrix, DP Integration
- Executive presentations → High-Level, Quadrant, Pyramid
Summary
- Diagram Design provides 27 fixed visual diagram types, each with dedicated reference specifications in
skills/diagram-design/references/ - Types are organized into six functional categories: charting, hierarchical, process, state, specialized layouts, and enterprise architecture
- The
--typeCLI flag overrides automatic detection onimport-mermaidandimport-drawiocommands - Validation scripts in
scripts/*.pyenforce type-specific constraints (e.g., DP Security Matrix edge rules) - HTML templates in
assets/template-*.htmlhandle final rendering across light, dark, and full variants
Frequently Asked Questions
How do I force a specific diagram type when importing?
Use the --type flag followed by the lowercase type name. For example: diagram-design import-mermaid file.mmd --type sequence. This bypasses automatic detection and loads the corresponding reference specification from skills/diagram-design/references/type-sequence.md.
Can I create custom diagram types beyond the 27 supported?
No. The 27 types constitute a fixed taxonomy designed for consistency across outputs. The architecture intentionally restricts type extensions to ensure validation scripts and templates remain reliable. For specialized needs, select the closest matching type and customize styling within its constraints.
What is the difference between State and IT State diagrams?
State (type-state.md) models general finite state machines for software engineering and logic design. IT State (type-infrastructure-tailored state.md) extends this for infrastructure monitoring—tracking operational conditions like "healthy," "degraded," or "failed" across IT systems with specialized visualization conventions.
Where are diagram type specifications stored?
All 27 reference files live in skills/diagram-design/references/ with the naming pattern type-[diagram-name].md. Each file defines layout rules, connector primitives, and styling defaults that the rendering engine applies consistently across export formats.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →