← 返回 Skills 市场
jannik689

excalidraw

作者 jannik689 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
177
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install excalidraw-pro
功能描述
Generate Excalidraw diagrams (.excalidraw files) from natural language descriptions. Use this skill whenever the user asks to create, draw, or visualize a di...
使用说明 (SKILL.md)

Excalidraw Diagram Generator

You generate .excalidraw files from natural language descriptions. The user can open these files directly in Excalidraw (File → Open) or drag-and-drop onto the canvas.

Workflow

  1. Understand the description — identify what the user wants to visualize
  2. Auto-select diagram type — choose the best type from the table below
  3. Generate the intermediate JSON — write a structured diagram_input.json
  4. Run the build script — execute build_excalidraw.py to produce the file
  5. Tell the user — report the output file path and how to open it

Diagram Type Selection

What the user describes Type to use
Steps, process, decisions, branching flowchart
Systems, services, components, infrastructure architecture
Topics, ideas, concepts radiating from a center mindmap
Two or more parties exchanging messages over time sequence

When in doubt, prefer flowchart — it handles the widest range of content.

Intermediate JSON Formats

Generate one of the following formats as diagram_input.json in the current working directory.

Flowchart

{
  "type": "flowchart",
  "title": "Short descriptive title",
  "nodes": [
    {"id": "unique_id", "label": "Display Text", "shape": "rectangle"},
    {"id": "decision", "label": "Is it valid?", "shape": "diamond"},
    {"id": "start_end", "label": "Start", "shape": "oval"}
  ],
  "edges": [
    {"from": "node_a", "to": "node_b"},
    {"from": "decision", "to": "node_c", "label": "Yes"},
    {"from": "decision", "to": "node_d", "label": "No"}
  ]
}

Shape choices: rectangle (default), diamond (decisions/conditions), oval (start/end points)

Architecture

{
  "type": "architecture",
  "title": "System Architecture",
  "groups": [
    {
      "id": "frontend",
      "label": "Frontend",
      "nodes": [
        {"id": "web", "label": "Web App"},
        {"id": "mobile", "label": "Mobile App"}
      ]
    },
    {
      "id": "backend",
      "label": "Backend",
      "nodes": [
        {"id": "api", "label": "API Gateway"},
        {"id": "auth", "label": "Auth Service"}
      ]
    }
  ],
  "nodes": [],
  "edges": [
    {"from": "web", "to": "api", "label": "HTTPS"},
    {"from": "mobile", "to": "api", "label": "HTTPS"}
  ]
}

Note: groups is optional. Use nodes at the top level for ungrouped components. You can mix both.

Mind Map

{
  "type": "mindmap",
  "title": "Topic Overview",
  "root": "Central Topic",
  "branches": [
    {
      "label": "Branch 1",
      "children": ["Subtopic A", "Subtopic B", "Subtopic C"]
    },
    {
      "label": "Branch 2",
      "children": ["Subtopic D", "Subtopic E"]
    }
  ]
}

Sequence Diagram

{
  "type": "sequence",
  "title": "Interaction Flow",
  "actors": ["User", "Frontend", "API", "Database"],
  "messages": [
    {"from": "User", "to": "Frontend", "label": "Click Login"},
    {"from": "Frontend", "to": "API", "label": "POST /login"},
    {"from": "API", "to": "Database", "label": "Query user"},
    {"from": "Database", "to": "API", "label": "Return record"},
    {"from": "API", "to": "Frontend", "label": "JWT token"},
    {"from": "Frontend", "to": "User", "label": "Redirect"}
  ]
}

Execution Steps

After writing diagram_input.json, run the build script:

python \x3Cskill_dir>/scripts/build_excalidraw.py \
  --input diagram_input.json \
  --output \x3Ctitle>.excalidraw

Where \x3Cskill_dir> is the directory containing this SKILL.md file, and \x3Ctitle> is a sanitized version of the diagram title.

Output Message to User

After successful generation, tell the user:

✓ Diagram saved to: \x3Cfilename>.excalidraw

To open in Excalidraw:
1. Go to https://excalidraw.com
2. Click the menu (☰) → Open → select the file
   — or — drag the file onto the canvas

Tips for Good Diagrams

  • Keep labels concise — 1–5 words per node works best
  • Limit nodes — 5–15 nodes per diagram for readability; split complex diagrams into multiple files
  • Use meaningful IDs — snake_case, no spaces (e.g., api_gateway, check_auth)
  • Flowchart edges — always go from a defined node ID to another defined node ID
  • Sequence actors — list them in the order they first appear in the conversation

Error Handling

If the script fails:

  1. Check that diagram_input.json has valid JSON syntax
  2. Ensure all edge from/to values match existing node id values
  3. Verify Python 3.6+ is available (python3 --version)
安全使用建议
This skill appears coherent and low-risk: it converts a structured JSON into a .excalidraw file using the included Python script and does not access network or secret material. Before running: (1) inspect any diagram_input.json the agent generates to ensure it contains only diagram data you expect; (2) run the script in an isolated or trusted environment (e.g., a project sandbox or container) if you are cautious; (3) ensure you have Python 3.6+ available. If you want extra assurance, open the full build_excalidraw.py source (it was included) and confirm it only performs local file I/O and JSON processing — no network calls or subprocess execution are present.
功能分析
Type: OpenClaw Skill Name: excalidraw-pro Version: 1.0.0 The skill bundle is a legitimate utility for generating Excalidraw diagrams from natural language. The Python script (scripts/build_excalidraw.py) is a safe data transformer that uses only standard libraries to convert structured JSON into the Excalidraw format; it contains no network calls, shell execution, or unauthorized file access. The instructions in SKILL.md are well-structured and lack any indicators of prompt injection or malicious intent.
能力评估
Purpose & Capability
Name/description (generate Excalidraw diagrams) match the artifacts: a SKILL.md describing how to produce diagram_input.json and a Python script that converts JSON into .excalidraw output. No unrelated credentials, binaries, or config paths are requested.
Instruction Scope
Runtime instructions are narrow and specific: produce diagram_input.json, then run the included build_excalidraw.py in the skill directory. The SKILL.md does not request reading arbitrary system files, environment variables, or sending data externally.
Install Mechanism
There is no install spec — this is instruction + a local Python script. No downloads, external package installs, or archive extraction are specified.
Credentials
The skill declares no required environment variables, credentials, or config paths. The script uses only standard libraries (argparse, json, uuid, etc.) and operates on local files, which is proportionate to the task.
Persistence & Privilege
The skill does not request always:true or any persistent/system-wide changes. It runs on demand and only writes the generated .excalidraw file to disk as expected.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install excalidraw-pro
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /excalidraw-pro 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of Excalidraw diagram generator. - Generate Excalidraw (.excalidraw) diagrams from natural language descriptions. - Auto-selects diagram type: flowchart, architecture, mind map, or sequence diagram based on user request. - Outputs intermediate JSON, then builds the diagram file via Python script. - Provides user instructions on how to open and use the generated diagram. - Includes error-handling tips and best practices for clear, effective diagrams.
元数据
Slug excalidraw-pro
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

excalidraw 是什么?

Generate Excalidraw diagrams (.excalidraw files) from natural language descriptions. Use this skill whenever the user asks to create, draw, or visualize a di... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 177 次。

如何安装 excalidraw?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install excalidraw-pro」即可一键安装,无需额外配置。

excalidraw 是免费的吗?

是的,excalidraw 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

excalidraw 支持哪些平台?

excalidraw 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 excalidraw?

由 jannik689(@jannik689)开发并维护,当前版本 v1.0.0。

💬 留言讨论