Skip to main content

excalidraw

Create and edit Excalidraw diagrams programmatically. Use when the user asks to create diagrams, flowcharts, architecture diagrams, wireframes, or any visual drawings in Excalidraw format (.excalidraw files).

ソース情報

リポジトリ
GeminiLight/EvoDesign
ソースの最終更新活動
2026年10月26日 18:24
検出された SKILL.md の言語
英語
スター
6
フォーク
0

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
5 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
excalidraw
description
Create and edit Excalidraw diagrams programmatically. Use when the user asks to create diagrams, flowcharts, architecture diagrams, wireframes, or any visual drawings in Excalidraw format (.excalidraw files).
# Excalidraw Diagram Creation This skill enables you to create beautiful, hand-drawn style diagrams in the Excalidraw JSON format. ## File Format Overview Excalidraw files (`.excalidraw`) are JSON with this structure: ```json { "type": "excalidraw", "version": 2, "source": "https://excalidraw.com", "elements": [], "appState": { "viewBackgroundColor": "#ffffff", "gridSize": null }, "files": {} } ``` ## Quick Start - Creating Elements Every element needs at minimum: `type`, `id`, `x`, `y`, and styling properties. ### Minimal Rectangle ```json { "type": "rectangle", "id": "rect-1", "x": 100, "y": 100, "width": 200, "height": 100, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, "seed": 1234, "version": 1, "versionNonce": 1234, "isDeleted": false, "groupIds": [], "boundElements": null, "link": null, "locked": false, "roundness": { "type": 3 } } ``` ### Text Element ```json { "type": "text", "id": "text-1", "x": 120, "y": 130, "width": 160, "height": 25, "text": "Hello World", "fontSize": 20, "fontFamily": 1, "textAlign": "center", "verticalAlign": "middle", "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, "seed": 5678, "version": 1, "versionNonce": 5678, "isDeleted": false, "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": null, "originalText": "Hello World", "autoResize": true, "lineHeight": 1.25 } ``` ### Arrow Element ```json { "type": "arrow", "id": "arrow-1", "x": 300, "y": 150, "width": 100, "height": 0, "points": [[0, 0], [100, 0]], "startArrowhead": null, "endArrowhead": "arrow", "startBinding": null, "endBinding": null, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", "roughness": 1, "opacity": 100, "seed": 9012, "version": 1, "versionNonce": 9012, "isDeleted": false, "groupIds": [], "boundElements": null, "link": null, "locked": false } ``` ## Element Types | Type | Use For | |------|---------| | `rectangle` | Boxes, containers, cards | | `ellipse` | Circles, ovals, nodes | | `diamond` | Decision points, conditions | | `text` | Labels, descriptions | | `arrow` | Connections, flow direction | | `line` | Connectors without arrowheads | | `freedraw` | Hand-drawn paths | | `image` | Embedded images | | `frame` | Grouping/framing elements | ## Color Palette (Recommended) ### Backgrounds - `#a5d8ff` - Light blue - `#b2f2bb` - Light green - `#ffec99` - Light yellow - `#ffc9c9` - Light red/pink - `#e9ecef` - Light gray - `#d0bfff` - Light purple - `#99e9f2` - Light cyan ### Strokes - `#1e1e1e` - Default black - `#1971c2` - Blue - `#2f9e44` - Green - `#f08c00` - Orange - `#e03131` - Red - `#9c36b5` - Purple ## Styling Properties | Property | Values | Description | |----------|--------|-------------| | `fillStyle` | `"solid"`, `"hachure"`, `"cross-hatch"` | Fill pattern | | `strokeWidth` | `1`, `2`, `4` | Line thickness | | `strokeStyle` | `"solid"`, `"dashed"`, `"dotted"` | Line style | | `roughness` | `0`, `1`, `2` | Hand-drawn feel (0=smooth, 2=rough) | | `opacity` | `0-100` | Transparency | | `roundness` | `{ "type": 3 }` | Rounded corners | ## Connecting Elements with Arrows To connect shapes with arrows, use bindings: ```json { "type": "arrow", "id": "arrow-1", "startBinding": { "elementId": "rect-1", "focus": 0, "gap": 5 }, "endBinding": { "elementId": "rect-2", "focus": 0, "gap": 5 }, "points": [[0, 0], [200, 0]] } ``` Also add `boundElements` to the connected shapes: ```json { "type": "rectangle", "id": "rect-1", "boundElements": [{ "id": "arrow-1", "type": "arrow" }] } ``` ## Font Families | Value | Font | |-------|------| | `1` | Hand-drawn (Virgil) | | `2` | Normal (Helvetica) | | `3` | Code (Cascadia) | ## Best Practices 1. **Generate unique IDs** - Use descriptive prefixes like `rect-1`, `arrow-2`, `text-header` 2. **Use random seeds** - Each element needs a unique `seed` for consistent rendering 3. **Space elements well** - Leave 50-100px between elements 4. **Align elements** - Use consistent x/y coordinates for visual alignment 5. **Group related items** - Use matching `groupIds` arrays 6. **Use the color palette** - Stick to Excalidraw's built-in colors for consistency ## Diagram Types You Can Create | Type | Description | |------|-------------| | **Flowcharts** | Process flows, algorithms, decision trees | | **Sequence Diagrams** | API calls, user interactions, message flows | | **Architecture Diagrams** | System design, microservices, infrastructure | | **Mind Maps** | Brainstorming, concept mapping, idea organization | | **Data Flow Diagrams** | Data movement, system analysis | | **ERD** | Database schemas, entity relationships | | **Wireframes** | UI mockups, layout sketches | ## Reference Documentation - **[diagram-patterns.md](diagram-patterns.md)** - Professional patterns for each diagram type (flowcharts, sequence diagrams, mind maps, architecture, etc.) - **[examples.md](examples.md)** - Complete working JSON examples you can use as templates - **[element-reference.md](element-reference.md)** - Full property reference for all element types - **[best-practices.md](best-practices.md)** - Design tips, color theory, typography guidelines ## Quick Tips for Beautiful Diagrams 1. **Use `roughness: 0`** for formal/technical diagrams, `roughness: 1` for friendly sketches 2. **Use `fontFamily: 2`** (Helvetica) for professional look, `fontFamily: 1` (Virgil) only when casual look is requested 3. **Consistent spacing** - 100px between major elements, 50px for related items 4. **Color semantics** - Blue for info/input, Green for success/data, Yellow for decisions, Red for errors 5. **Arrow conventions** - Solid for actions, Dashed for responses/async
GitHubで見る