← Back to Skills Marketplace
jannik689

excalidraw

by jannik689 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
177
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install excalidraw-pro
Description
Generate Excalidraw diagrams (.excalidraw files) from natural language descriptions. Use this skill whenever the user asks to create, draw, or visualize a di...
README (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)
Usage Guidance
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.
Capability Analysis
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.
Capability Assessment
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.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install excalidraw-pro
  3. After installation, invoke the skill by name or use /excalidraw-pro
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
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.
Metadata
Slug excalidraw-pro
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is excalidraw?

Generate Excalidraw diagrams (.excalidraw files) from natural language descriptions. Use this skill whenever the user asks to create, draw, or visualize a di... It is an AI Agent Skill for Claude Code / OpenClaw, with 177 downloads so far.

How do I install excalidraw?

Run "/install excalidraw-pro" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is excalidraw free?

Yes, excalidraw is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does excalidraw support?

excalidraw is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created excalidraw?

It is built and maintained by jannik689 (@jannik689); the current version is v1.0.0.

💬 Comments