Loading...
Loading...
Generate interactive graph visualizations in the browser from any data - codebases, infrastructure, relationships, knowledge maps
npx skill4agent add asgeirf/agent-skills graphilizerservicedatabaseuserdepends-oncallsreads-fromsettings.nodeTypessettings.edgeTypes| Shape | Best for | Visual |
|---|---|---|
| Services, entities, generic items | Icon + label + type badge (horizontal) |
| People, products, detailed entities | Large icon/image, title, description, tags |
| Databases, configs, specs, inventories | Header + visible key-value rows |
| Milestones, statuses, tags, phases | Compact inline rounded label |
{
"settings": {
"title": "My Service Map",
"description": "Production microservices and their dependencies",
"layout": { "direction": "LR", "nodeSpacing": 80, "rankSpacing": 120 },
"nodeTypes": {
"service": { "color": "#4A90D9", "icon": "🔧" },
"database": { "color": "#E8A838", "icon": "🗄️", "shape": "table" },
"person": { "color": "#53d769", "icon": "👤", "shape": "card" },
"phase": { "color": "#a855f7", "icon": "🏁", "shape": "pill" }
},
"edgeTypes": {
"calls": { "color": "#4A90D9", "style": "solid", "animated": true },
"reads": { "color": "#E8A838", "style": "dashed" }
}
},
"groups": [
{ "id": "backend", "label": "Backend Services" }
],
"nodes": [
{ "id": "api", "label": "API Gateway", "type": "service", "group": "backend", "metadata": { "language": "Go", "team": "platform" } },
{ "id": "db", "label": "PostgreSQL", "type": "database", "metadata": { "version": "15", "size": "200GB", "tables": "42" } },
{ "id": "sarah", "label": "Sarah Chen", "type": "person", "description": "Tech Lead", "tags": ["Go", "Kubernetes"] },
{ "id": "beta", "label": "Beta Launch", "type": "phase" }
],
"edges": [
{ "id": "e1", "source": "api", "target": "db", "label": "queries", "type": "reads" },
{ "id": "e2", "source": "sarah", "target": "api", "label": "leads" },
{ "id": "e3", "source": "beta", "target": "api", "label": "deploys" }
]
}/tmp/graphilizer-data.jsoncd <skill-dir> && npm install --prefer-offline --no-audit --no-fund
cd <skill-dir>/assets/graphilizer-template && npm install --prefer-offline --no-audit --no-fund<skill-dir>node <skill-dir>/scripts/serve.mjs /tmp/graphilizer-data.json --opendefaultcardtablepilldescriptiontagsimagerows{key, value}layerservicedatabasepersonlayer{
"nodes": [
{ "id": "sarah", "label": "Sarah Chen", "type": "lead", "layer": "Team" },
{ "id": "api", "label": "API Gateway", "type": "service", "layer": "Architecture" },
{ "id": "m-beta", "label": "Private Beta", "type": "milestone", "layer": "Rollout" }
],
"edges": [
{ "id": "e1", "source": "sarah", "target": "api", "label": "leads", "layer": "Team" },
{ "id": "e2", "source": "api", "target": "auth", "label": "validates", "layer": "Architecture" },
{ "id": "e3", "source": "m-beta", "target": "webapp", "label": "ships", "layer": "Rollout" }
]
}orderordersubtitle| Property | Type | Required | Description |
|---|---|---|---|
| integer | no | Sequence position for timeline animation |
| string | no | Text shown at bottom of canvas during this step |
{
"edges": [
{ "id": "e1", "source": "a", "target": "b", "label": "Step 1", "type": "big", "order": 1, "subtitle": "First transfer completes" },
{ "id": "e2", "source": "b", "target": "c", "label": "Step 2a", "type": "medium", "order": 2, "subtitle": "Two things happen at once" },
{ "id": "e3", "source": "d", "target": "e", "label": "Step 2b", "type": "small", "order": 2, "subtitle": "This runs in parallel with 2a" },
{ "id": "e4", "source": "c", "target": "f", "label": "Step 3", "type": "big", "order": 3, "subtitle": "Final step wraps up" }
]
}{
"settings": {
"title": "Breaking Bad",
"description": "Character relationships",
"layout": { "direction": "TB", "nodeSpacing": 100, "rankSpacing": 150 },
"nodeTypes": {
"protagonist": { "color": "#4CAF50", "icon": "🧪" },
"antagonist": { "color": "#F44336", "icon": "💀" },
"family": { "color": "#2196F3", "icon": "👨👩👦" },
"dea": { "color": "#FF9800", "icon": "🔫" }
},
"edgeTypes": {
"family": { "color": "#2196F3", "style": "solid" },
"business": { "color": "#4CAF50", "style": "dashed", "animated": true },
"conflict": { "color": "#F44336", "style": "dotted" }
}
},
"groups": [
{ "id": "white-family", "label": "White Family" },
{ "id": "cartel", "label": "Drug Trade" }
],
"nodes": [
{ "id": "walt", "label": "Walter White", "type": "protagonist", "group": "white-family", "metadata": { "alias": "Heisenberg", "occupation": "Chemistry Teacher" } },
{ "id": "jesse", "label": "Jesse Pinkman", "type": "protagonist", "group": "cartel", "metadata": { "role": "Cook", "catchphrase": "Yeah, science!" } },
{ "id": "skyler", "label": "Skyler White", "type": "family", "group": "white-family" },
{ "id": "hank", "label": "Hank Schrader", "type": "dea", "metadata": { "role": "DEA Agent" } },
{ "id": "gus", "label": "Gus Fring", "type": "antagonist", "group": "cartel", "metadata": { "front": "Los Pollos Hermanos" } }
],
"edges": [
{ "id": "e1", "source": "walt", "target": "jesse", "label": "partners", "type": "business" },
{ "id": "e2", "source": "walt", "target": "skyler", "label": "married", "type": "family" },
{ "id": "e3", "source": "hank", "target": "skyler", "label": "in-laws", "type": "family" },
{ "id": "e4", "source": "walt", "target": "gus", "label": "rivals", "type": "conflict" },
{ "id": "e5", "source": "gus", "target": "jesse", "label": "employer", "type": "business" }
]
}