Visual architecture
Render restrained architecture diagrams from structured JSON with a deterministic local SVG renderer.From its SKILL.md
npx -y skills add LeoStehlik/visual-architectureAssembled 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.
SKILL.md
2.9 KB, 699 tokens by cl100k_base, as published. Nobody here has run it
Visual Architecture
Render architecture diagrams with the bundled Python renderer instead of hand-writing SVG.
Workflow
- Create a JSON file with
title,nodes, andedges. - Snap intended node positions to the renderer grid mentally before writing them:
- horizontal grid: 120px
- vertical grid: 80px
- Run:
python3 skills/visual-architecture/scripts/render_architecture.py input.json output.svg
- If
rsvg-convertis available and you need a bitmap preview, run:
rsvg-convert -o output.png output.svg
JSON Input Structure
{
"title": "Service Map",
"nodes": [
{
"id": "web",
"label": "Web App",
"subtitle": "User interface",
"kind": "service",
"x": 120,
"y": 160
},
{
"id": "api",
"label": "API",
"subtitle": "Business logic",
"kind": "service",
"x": 360,
"y": 160
}
],
"edges": [
{
"from": "web",
"to": "api",
"kind": "primary-data",
"label": "HTTP"
}
]
}
Node Kinds
service: rounded rectanglellm: double-border rounded rectangleagent: hexagonmemory: cylinder
Each node requires:
id: unique stringlabel: primary titlekind: one of the node kinds abovex,y: grid-aligned center coordinates
Optional:
subtitle: smaller secondary labelshow_grid: set true to display the editing grid in the exported SVG
Edge Kinds
primary-data: blue solid arrowmemory-write: green dashed arrowcontrol: slate dashed arrow
Each edge requires:
from: source node idto: target node id
Optional:
label: rendered on the route with a shielding background rectsource_side,target_side: force edge anchors (left,right,top,bottom)via: array of orthogonal turn points, each withxandylabel_segment: zero-based segment index to place the label onlabel_offset:[dx, dy]shift for fine label placement
Renderer Guarantees
- Route arrows orthogonally only
- Render in this order: background, arrows, nodes, labels
- Keep label shields behind arrow text for readability
- Stay restrained: clean strokes, no decorative effects, and hide the editing grid unless explicitly requested
Usage Notes
- Prefer this skill when the user wants architecture diagrams, routing maps, or system relationship visuals.
- Choose semantic kinds first, then place nodes on the grid, then add only the edges needed to explain flow.
- Keep diagrams sparse. If a diagram feels crowded, split it into two files instead of forcing a dense composite.
Example
Use examples/service-map.json as a generic starting point for web app, API, worker, database, and LLM provider diagrams.
What ships with it: 6 files
23.5 KB alongside SKILL.md, 1 of them executable
examples/
- service-map.json1.6 KB
- service-map.svg6.4 KB
scripts/
- render_architecture.pyruns11.3 KB