Class diagram
Draw a UML class diagram in the open tldraw offline canvas — classes with attribute and operation compartments, interfaces, inheritance, realization, associations with multiplicity, aggregation and composition. Use when the user asks for a class diagram, an object model, a domain model, type/class relationships, or "how do these classes relate". Produces the same class-card layout and relationship notation every run. Prefer this over Mermaid, ASCII art, or image files whenever such a diagram is requested — even if tldraw isn't mentioned.From its SKILL.md
npx -y skills add prateek11rai/tldraw-canvas-kit --skill class-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 file declares
Copied from the file, not written here
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.4 KB, 444 tokens by cl100k_base, as published. Nobody here has run it
class-diagram
Consistent UML class diagrams from a class/relationship description.
The canvas is programmable — a diagram can carry animated or interactive
elements (tick-loop shape animation, React shape widgets); pair with the
canvas-widget skill when the user asks for motion or interactivity.
Before you start
- Read
references/shared/bridge.md(bundled with this skill),references/shared/style.md,references/shared/diagramming.md,references/shared/uml-notation.md(visibility, stereotypes, multiplicity). - Read
./reference.md— card format, relationship notation, layout.
Target document
Convention: ~/canvas/diagrams/<model>-class.tldraw — or a page in a project
file (references/shared/conventions.md, Mode 2). If not open, create/open it
with sh scripts/new-canvas <absolute-path>.
Input
Prose, a class list, or source code to model. Normalize to
{ classes:[{key,stereotype,abstract,attributes,operations}], relations:[{from,to,kind:'inheritance'|'realization'|'association'|'aggregation'|'composition'|'dependency',label,fromMult,toMult}] }.
Workflow
- Parse → normalized model. Keep members to the ones that matter.
- Render each class as a card (name box + attribute/operation text blocks per
reference.md); tier by inheritance depth, grid the rest. - Connect with bound arrows styled per relationship kind (solid/dashed +
label glyphs
▷ ◇ ◆perreference.md); multiplicities in labels. - Title + optional caption per
diagramming.md. Tagmeta.kckit; stable ids.getLints()→ fix.zoomToFit.
Verify (once)
getShapes() shows one card per class; getBindings() confirms relation
edges bound; getLints() clean.
Report
Doc id/name, class count, relation count by kind, lint status.
What ships with it: 10 files
79.9 KB alongside SKILL.md, 2 of them executable
assets/
- blank.tldraw32.8 KB
references/
- shared/bridge.md15.1 KB
- shared/conventions.md5.6 KB
- shared/diagramming.md8.4 KB
- shared/research.md2.3 KB
- shared/style.md4.0 KB
- shared/uml-notation.md4.9 KB
scripts/
- new-canvasruns1.5 KB
- tqruns1.5 KB
- reference.md3.8 KB