Er diagram
Quiet, editorial chart PNGs for technical blog posts. 15 primitives, six themes, one CLI.
npx -y skills add shuakami/paperchart --skill er-diagramAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Render an entity-relationship diagram (Mermaid `erDiagram` equivalent). Each entity is a table-style box with a header (name + caption) and a list of typed fields with PK / FK markers. Relationships are drawn as bézier curves with crow's-foot cardinality markers at each end ("1", "0..1", "M", "1..M", "0..M"). Good for database schema diagrams in technical posts.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
2.7 KB, as published. Nobody here has run it
paperchart — ER diagram
Table-style entity boxes with typed fields and PK / FK markers, connected by relationship lines with crow's-foot cardinality.
When to use
- Database schema walkthroughs.
- Explaining multi-table joins in a blog post.
- Any entity-with-attributes diagram.
Input shape
{
"data": {
"entities": [
{ "id": "user", "label": "user", "caption": "account", "fields": [
{ "name": "id", "type": "uuid", "pk": true },
{ "name": "email", "type": "text", "note": "unique" },
{ "name": "created_at", "type": "timestamp" }
] },
{ "id": "org", "label": "organization", "fields": [
{ "name": "id", "type": "uuid", "pk": true },
{ "name": "name", "type": "text" }
] },
{ "id": "membership", "label": "membership", "accent": true, "fields": [
{ "name": "user_id", "type": "uuid", "pk": true, "fk": true },
{ "name": "org_id", "type": "uuid", "pk": true, "fk": true },
{ "name": "role", "type": "enum" }
] }
],
"relationships": [
{ "from": "user", "to": "membership", "fromCard": "1", "toCard": "0..M", "label": "joins" },
{ "from": "org", "to": "membership", "fromCard": "1", "toCard": "0..M", "label": "contains" }
]
}
}
Cardinality codes
| code | meaning | marker |
|---|---|---|
"1" | exactly one | single tick |
"0..1" | zero or one | circle + tick |
"M" | many | crow's foot |
"1..M" | one or many | tick + crow's foot |
"0..M" | zero or many | circle + crow's foot |
Field options
pk: true— adds a boldPKmarker and uses medium weight for the name.fk: true— addsFKmarker.type— right-aligned type label (uuid, text, enum, timestamp, ...).note— reserved for future rendering (currently stored, not drawn).
Layout
Entities are arranged in a fixed grid (default 3 columns). Override with
layout.columns if you need a different split.
CLI
paperchart er-diagram -i data.json -o er.png
paperchart er-diagram --defaults -o er.png