SKILL.md
Graphviz DOT Diagram Generator
Important: Use dot as the code fence identifier, NOT graphviz.
Quick Start: Choose digraph (directed) or graph (undirected) → Define nodes with attributes (shape, color, label) → Connect with -> or -- → Set layout (rankdir, spacing) → Wrap in dot fence. Default: top-to-bottom (rankdir=TB), cluster names must start with cluster_, use semicolons.
Critical Syntax Rules
Rule 1: Cluster Naming
❌ subgraph backend { } → Won't render as box
✅ subgraph cluster_backend { } → Must start with cluster_
Rule 2: Node IDs with Spaces
❌ API Gateway [label="API"]; → Invalid ID
✅ "API Gateway" [label="API"]; → Quote the ID
✅ api_gateway [label="API Gateway"]; → Use underscore ID
Rule 3: Edge Syntax Difference
digraph: A -> B; → Directed arrow
graph: A -- B; → Undirected line
Rule 4: Attribute Syntax
❌ node [shape=box color=red] → Missing comma
✅ node [shape=box, color=red]; → Comma separated
Rule 5: HTML Labels
✅ shape=plaintext for HTML labels
✅ Use < > not " " for HTML content
Common Pitfalls
Issue
Solution
Nodes overlapping
Increase nodesep and ranksep
Poor layout
Change rankdir or add {rank=same}
Edges crossing
Use splines=ortho or adjust node order
Cluster not showing
Name must start with cluster_
Label not displaying
Check quote escaping
Output Format
digraph G {
[diagram code]
}
Related Files
For advanced layout control and complex styling, refer to references below:
- syntax.md — Layout control (rankdir, splines, rank), HTML labels, edge styles, cluster subgraphs, and record-based nodes