원클릭으로
diagram
Professional Excalidraw diagram generation from natural language or code analysis.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Professional Excalidraw diagram generation from natural language or code analysis.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | diagram |
| description | Professional Excalidraw diagram generation from natural language or code analysis. |
Generates .excalidraw files from description or code analysis using a simplified JSON spec + Node.js converter.
Activation:
/diagram {description} — generate from description/diagram analyze {path} — analyze code and generate architecture diagramdiagram {description} — implicit activationDon't use: For mockups, UI wireframes, or pixel-precise layouts.
| Trigger | Mode |
|---|---|
/diagram analyze src/... or "analyze" in args | Analyze Mode |
| Everything else | Description Mode |
User describes what they want. You generate the JSON spec with coordinates.
Steps:
echo '<JSON_SPEC>' | node template/.claude/tools/excalidraw-gen.mjs ai/diagrams/{name}.excalidraw
Reads source code and generates architecture diagram automatically.
Steps:
IMPORTANT: Always provide x,y coordinates for every node. You are the layout engine. The converter only renders — it does NOT do good auto-layout.
x,y = CENTER of the node (not top-left corner). This means nodes with the same x are perfectly center-aligned regardless of width.
{
"title": "Diagram Title",
"nodes": [
{"id": "start", "x": 400, "y": 50, "label": "Entry Point", "shape": "ellipse", "color": "orange"},
{"id": "process", "x": 400, "y": 180, "label": "Process Step\nSubtitle", "shape": "rect", "color": "blue"},
{"id": "decision", "x": 400, "y": 320, "label": "Condition?", "shape": "diamond", "color": "yellow"},
{"id": "result", "x": 400, "y": 460, "label": "Output", "shape": "rect", "color": "green"},
{"id": "alt", "x": 650, "y": 320, "label": "Alternative", "shape": "rect", "color": "gray"}
],
"edges": [
{"from": "start", "to": "process"},
{"from": "process", "to": "decision", "label": "check"},
{"from": "decision", "to": "result", "label": "yes"},
{"from": "decision", "to": "alt", "label": "no", "style": "dashed"}
],
"groups": [
{"id": "g1", "label": "Main Flow", "nodes": ["start", "process", "decision"], "color": "blue"}
]
}
Grid: Use multiples of 50 for all coordinates.
Coordinates = CENTER of node. Same x = perfect vertical alignment.
Vertical spacing:
Horizontal spacing:
Sizing (auto-calculated from text, override with w,h):
w — explicit width (default: auto from text + padding)h — explicit height (default: auto from text + padding)Fan-out pattern (e.g., 6 parallel items):
{"id": "a", "x": 50, "y": 500, "label": "Item A", ...},
{"id": "b", "x": 250, "y": 500, "label": "Item B", ...},
{"id": "c", "x": 450, "y": 500, "label": "Item C", ...},
{"id": "d", "x": 650, "y": 500, "label": "Item D", ...}
| Shape | Excalidraw Type | Use For |
|---|---|---|
rect | rectangle | Process, service, step |
diamond | diamond | Decision, condition |
ellipse | ellipse | Start/end terminal |
rounded | rectangle (rounded) | Soft element, card, UI |
database | rectangle (dashed) | Database, storage, IPC file |
external | rectangle (dashed) | External system |
| Color | Use For |
|---|---|
orange | Trigger, start, entry point |
blue | Process, service, information |
yellow | Decision, warning, branch |
green | Success, output, result |
red | Error, danger, critical |
purple | Storage, database, IPC file |
gray | Neutral, default, disabled |
teal | Secondary, note, async |
| Style | Rendering |
|---|---|
solid | Solid line (default) |
dashed | Dashed line |
For side-connections (error paths, secondary outputs), use elbowed routing to avoid diagonal lines crossing other elements:
| Elbow | Routing | Use For |
|---|---|---|
| (none) | Straight line (default) | Main flow, fan-out |
"h" | Horizontal first, then vertical | Side exit → turn down/up |
"v" | Vertical first, then horizontal | Up/down exit → turn sideways |
"loop-right" | U-shape via right side (3 segments) | Feedback loop going right |
"loop-left" | U-shape via left side (3 segments) | Feedback loop going left |
L-shape (h/v):
{"from": "ok", "to": "retry", "label": "rejected", "style": "dashed", "elbow": "h"},
{"from": "retry", "to": "step3", "label": "re-run", "style": "dashed", "elbow": "v"}
U-shape (loop) — for back-edges / feedback:
{"from": "users", "to": "backlog", "label": "feedback", "style": "dashed", "elbow": "loop-left"}
Multiple loops — use pad to avoid overlap:
{"from": "review", "to": "step2", "label": "rejected", "style": "dashed", "elbow": "loop-left", "pad": 70},
{"from": "step4", "to": "step2", "label": "retry", "style": "dashed", "elbow": "loop-left", "pad": 130},
{"from": "step5", "to": "step1", "label": "reset", "style": "dashed", "elbow": "loop-left", "pad": 190}
pad controls how far the U-shape extends from the nodes (default: 120). Use incrementing values (e.g., 70/130/190) to create separate "lanes" for multiple loop arrows on the same side.
loop-leftUse \n for multi-line. Keep labels short — 2-4 words per line max:
{"id": "srv", "x": 300, "y": 200, "label": "Auth Service\nJWT + OAuth", "shape": "rect", "color": "blue"}
Groups render as labeled background rectangles encompassing specified nodes:
{"id": "g1", "label": "Backend Services", "nodes": ["auth", "billing", "users"], "color": "blue"}
ai/diagrams/{name}.excalidrawspark-workflow.excalidraw)echo '<JSON_SPEC>' | node template/.claude/tools/excalidraw-gen.mjs ai/diagrams/{name}.excalidraw
title fieldUpgrade DLD framework files from latest template on GitHub.
Autonomous spec execution with subagents (planner, coder, tester, reviewer).
Autonomous spec execution with subagents (planner, coder, tester, reviewer).
Feature specification and research agent. Multi-agent with 4 scouts. Creates specs in ai/features/.
Feature specification and research agent. Multi-agent with 4 scouts. Creates specs in ai/features/.
Manual QA tester — tests product behavior like a real user, not code. Triggers on keywords: test, QA, check behavior, verify feature, manual testing, протестируй, потыкай, проверь как работает