Install
openclaw skills install visual-architectureRender clean technical architecture diagrams from structured JSON using a deterministic SVG engine. Use when turning system topology, agent workflows, routing maps, or infrastructure relationships into restrained architecture visuals instead of freehand SVG generation.
openclaw skills install visual-architectureRender architecture diagrams with the bundled Python renderer instead of hand-writing SVG.
title, nodes, and edges.python3 skills/visual-architecture/scripts/render_architecture.py input.json output.svg
rsvg-convert is available and you need a bitmap preview, run:rsvg-convert -o output.png output.svg
{
"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"
}
]
}
service: rounded rectanglellm: double-border rounded rectangleagent: hexagonmemory: cylinderEach node requires:
id: unique stringlabel: primary titlekind: one of the node kinds abovex, y: grid-aligned center coordinatesOptional:
subtitle: smaller secondary labelshow_grid: set true to display the editing grid in the exported SVGprimary-data: blue solid arrowmemory-write: green dashed arrowcontrol: slate dashed arrowEach edge requires:
from: source node idto: target node idOptional:
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 with x and ylabel_segment: zero-based segment index to place the label onlabel_offset: [dx, dy] shift for fine label placementUse examples/service-map.json as a generic starting point for web app, API, worker, database, and LLM provider diagrams.