Use when creating entity-relationship diagrams, database schemas, or data models in Draw.io. Prevents the common mistake of using generic arrows instead of crow's foot notation (ERone, ERmany, ERzeroToOne, etc.). Covers entity table shapes, PK/FK notation, all cardinality markers, and entityRelationEdgeStyle. Keywords: ER diagram, entity-relationship, crow's foot, ERone, ERmany, cardinality, database schema, table, database diagram, data model, table relationships, one-to-many, many-to-many.
Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
Use when creating entity-relationship diagrams, database schemas, or data models in Draw.io. Prevents the common mistake of using generic arrows instead of crow's foot notation (ERone, ERmany, ERzeroToOne, etc.). Covers entity table shapes, PK/FK notation, all cardinality markers, and entityRelationEdgeStyle. Keywords: ER diagram, entity-relationship, crow's foot, ERone, ERmany, cardinality, database schema, table, database diagram, data model, table relationships, one-to-many, many-to-many.
license
MIT
compatibility
Designed for Claude Code. Requires Draw.io / diagrams.net (current).
metadata
{"author":"OpenAEC-Foundation","version":"1.0"}
Draw.io ER Diagram Implementation
Purpose
This skill enables correct generation of entity-relationship diagrams, database schemas, and data models in Draw.io mxGraph XML. It enforces crow's foot notation for cardinality, proper entity table structures, and PK/FK visual conventions. The most common AI mistake is using generic arrows (endArrow=classic) instead of ER-specific markers (ERone, ERmany, etc.).
Critical Rules (Memorize These)
ALWAYS use entityRelationEdgeStyle for ER relationships — NEVER use orthogonalEdgeStyle or default edge routing.
ALWAYS use ER-specific arrow markers (ERone, ERmany, ERmandOne, ERzeroToOne, ERoneToMany, ERzeroToMany) — NEVER use endArrow=classic or endArrow=block in ER diagrams.
ALWAYS set startFill=0 and endFill=0 on ER edges — crow's foot markers MUST use Fill=0. Setting Fill=1 produces incorrect filled shapes.
ALWAYS use shape=table;childLayout=tableLayout;container=1; for entity shapes — this produces the standard database table appearance with a header row and stacked attribute rows.
ALWAYS place attribute rows as children of the entity — every attribute mxCell MUST have parent="<entity_id>". NEVER use parent="1".
ALWAYS mark primary key fields with fontStyle=4; (underline) — this is the standard ER convention for PKs.
ALWAYS mark foreign key fields with fontStyle=2; (italic) — this distinguishes FKs from regular attributes.
ALWAYS include both structural cells (id="0" and id="1" with parent="0") in every diagram.
This pattern is used in UML class diagrams and works for ER entities. The shape=table;childLayout=tableLayout pattern is PREFERRED for ER diagrams because it provides better table-like rendering with row separators.
Checklist: Before Outputting an ER Diagram
Every entity uses shape=table;container=1;childLayout=tableLayout;.
Every attribute row is a child of its entity (parent="<entity_id>").
Every PK field has fontStyle=4; (underline).
Every FK field has fontStyle=2; (italic).
Every relationship edge uses edgeStyle=entityRelationEdgeStyle;.
Every relationship edge uses ER* arrow types — NEVER classic or block.
Every ER arrow has startFill=0;endFill=0;.
Both structural cells (id="0" and id="1") are present.
All edge source and target attributes point to valid entity cell IDs.
<mxCellid="ord_fk"value="customer_id FK INT"style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;whiteSpace=wrap;html=1;fontStyle=2;"vertex="1"parent="ent_ord">
<mxCellid="line_fk1"value="order_id FK INT"style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;whiteSpace=wrap;html=1;fontStyle=2;"vertex="1"parent="ent_line">
<mxCellid="line_fk2"value="product_id FK INT"style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;whiteSpace=wrap;html=1;fontStyle=2;"vertex="1"parent="ent_line">