agentsclimarketplace

Er diagram

Skill shuakami/paperchart/skills/er-diagram

Quiet, editorial chart PNGs for technical blog posts. 15 primitives, six themes, one CLI.

Install
npx -y skills add shuakami/paperchart --skill er-diagram

Assembled 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

codemeaningmarker
"1"exactly onesingle tick
"0..1"zero or onecircle + tick
"M"manycrow's foot
"1..M"one or manytick + crow's foot
"0..M"zero or manycircle + crow's foot

Field options

  • pk: true — adds a bold PK marker and uses medium weight for the name.
  • fk: true — adds FK marker.
  • 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

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.