How Many Distinct Visual Diagram Types Does Diagram Design Support?
Diagram Design supports exactly 40 distinct visual diagram types, each documented in individual Markdown reference files under the skills/diagram-design/references/ directory.
The cathrynlavery/diagram-design repository provides a comprehensive CLI tool for generating standardized visual diagrams. According to the source code, the project defines 40 unique diagram types—from architecture and uml-class to sankey and wardley—each following a strict visual grammar. These definitions enable consistent, reproducible output for technical documentation and data visualization workflows.
Complete List of 40 Distinct Visual Diagram Types
All diagram types are enumerated as individual Markdown files in the skills/diagram-design/references/ directory. The following table lists each supported type by its reference filename:
| # | Diagram Type | Reference File |
|---|--------------|----------------|
| 1 | architecture | type-architecture.md |
| 2 | bar | type-bar.md |
| 3 | waterfall | type-waterfall.md |
| 4 | wardley | type-wardley.md |
| 5 | venn | type-venn.md |
| 6 | uml-class | type-uml-class.md |
| 7 | treemap | type-treemap.md |
| 8 | tree | type-tree.md |
| 9 | timeline | type-timeline.md |
| 10 | swimlane | type-swimlane.md |
| 11 | story-map | type-story-map.md |
| 12 | state | type-state.md |
| 13 | sequence | type-sequence.md |
| 14 | scatter | type-scatter.md |
| 15 | sankey | type-sankey.md |
| 16 | radar | type-radar.md |
| 17 | quadrant | type-quadrant.md |
| 18 | pyramid | type-pyramid.md |
| 19 | process | type-process.md |
| 20 | polar | type-polar.md |
| 21 | org-chart | type-org-chart.md |
| 22 | nested | type-nested.md |
| 23 | medallion | type-medallion.md |
| 24 | loop | type-loop.md |
| 25 | line | type-line.md |
| 26 | layers | type-layers.md |
| 27 | kanban | type-kanban.md |
| 28 | journey | type-journey.md |
| 29 | it-state | type-it-state.md |
| 30 | high-level | type-high-level.md |
| 31 | gantt | type-gantt.md |
| 32 | flowchart | type-flowchart.md |
| 33 | fishbone | type-fishbone.md |
| 34 | er | type-er.md |
| 35 | dp-security-matrix | type-dp-security-matrix.md |
| 36 | dp-integration | type-dp-integration.md |
| 37 | deployment | type-deployment.md |
| 38 | dependency | type-dependency.md |
| 39 | db-schema | type-db-schema.md |
| 40 | data-flow | type-data-flow.md |
How Diagram Types Are Defined in the Source Code
Each distinct visual diagram type follows a strict visual grammar defined in dedicated reference files. As implemented in cathrynlavery/diagram-design, these specifications reside in the skills/diagram-design/references/ directory using the naming convention type-{name}.md.
For example, type-sankey.md contains the visual grammar for Sankey diagrams, while type-uml-class.md defines the standards for UML class diagrams. This modular architecture ensures that each of the 40 supported types maintains independent, version-controlled documentation that the CLI uses to validate and render outputs.
Generating Diagrams via CLI
The diagram-design CLI exposes specific commands for instantiating these visual types. The two primary entry points are import-mermaid (for Mermaid and PlantUML inputs) and import-csv (for data-driven visualizations).
To generate an architecture diagram from Mermaid syntax:
# Generate a simple architecture diagram
diagram-design import-mermaid --type architecture <<'EOF'
graph TD
A[Client] --> B[Load Balancer]
B --> C[Web Server]
C --> D[Database]
EOF
To create a Sankey diagram from CSV data:
# Generate a Sankey diagram from CSV data
cat > flow.csv <<'CSV'
source,target,value
A,B,10
B,C,5
A,C,3
CSV
diagram-design import-csv --type sankey flow.csv
To render a UML class diagram from PlantUML source:
# Generate a UML class diagram from PlantUML source
cat > model.puml <<'PUML'
@startuml
class User {
+String name
+String email
}
class Order {
+int id
+Date date
}
User "1" --> "0..*" Order : places
@enduml
PUML
diagram-design import-mermaid --type uml-class model.puml
These commands invoke the respective generator for the selected diagram type and output an SVG (or other configured format) that follows the strict visual grammar defined in the corresponding reference file.
Summary
- Diagram Design supports 40 distinct visual diagram types, ranging from architectural charts to data-flow diagrams.
- Each type is defined in a separate Markdown file within the
skills/diagram-design/references/directory (e.g.,type-architecture.md,type-sankey.md). - The CLI provides
import-mermaidandimport-csvcommands to generate diagrams according to these strict specifications. - Validation scripts in
scripts/verify-*.pyensure all outputs conform to the defined visual grammars.
Frequently Asked Questions
How many distinct visual diagram types does Diagram Design support?
Diagram Design supports exactly 40 distinct visual diagram types. Each type is documented in a separate Markdown file within the skills/diagram-design/references/ directory, covering categories from UML modeling to data visualization.
Where are diagram type definitions stored in the repository?
The definitions are stored in skills/diagram-design/references/ as individual Markdown files named type-{diagram-name}.md. This modular approach allows each of the 40 diagram types to maintain its own visual grammar specification, independent of the CLI implementation.
Which CLI commands support generating these diagram types?
According to the source code, the import-mermaid and import-csv commands support diagram generation. The import-mermaid command handles structure-based types like architecture, uml-class, and flowchart, while import-csv supports data-driven types such as sankey and data-flow.
How does Diagram Design validate diagram type compliance?
The repository includes validation scripts located in scripts/verify-*.py that ensure each generated diagram conforms to the strict visual grammar defined in its corresponding type-*.md reference file. This validation layer guarantees that outputs meet the standardized specifications for each of the 40 supported diagram types.
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 →