技能详情(站内镜像,无评论)
许可证:MIT-0
MIT-0 ·免费使用、修改和重新分发。无需归因。
版本:v1.0.0
统计:⭐ 0 · 461 · 5 current installs · 5 all-time installs
⭐ 0
安装量(当前) 5
🛡 VirusTotal :良性 · OpenClaw :良性
Package:0xartex/excalidraw-canvas
安全扫描(ClawHub)
- VirusTotal :良性
- OpenClaw :良性
OpenClaw 评估
The skill's instructions and requirements match its purpose (rendering Excalidraw diagrams via a hosted API); it requires no credentials or installs, but it sends diagram data to a third-party endpoint, so avoid sending sensitive content to it.
目的
Name/description (render Excalidraw diagrams to PNG) matches the SKILL.md: instructions POST diagram element JSON to a rendering API and return a PNG and edit URL. No unrelated binaries, env vars, or installs are requested.
说明范围
Runtime instructions are narrowly scoped to: POST JSON to https://excalidraw-mcp.up.railway.app/api/render, decode base64 PNG to /tmp/diagram.png, and return/send the edit URL. They do not read arbitrary local files or request unrelated credentials. Note: the skill will transmit the full diagram payload to an external third-party service (including any text you put in shapes), and instructs writing a file to /tmp.
安装机制
No install spec or code files are present (instruction-only). This is the lowest install risk — nothing is written to disk by the skill itself beyond the one PNG file it asks to create at /tmp/diagram.png.
证书
The skill requests no environment variables or credentials, which is proportionate. However, because it sends diagram content to an external, third-party endpoint (hosted on railway.app, not an official excalidraw.com domain), use caution: diagrams may contain sensitive information that would be disclosed to that service.
持久
The skill does not request persistent presence, does not modify other skills or system settings, and uses default invocation settings. No elevated privileges or always-on behavior requested.
综合结论
This skill appears to do what it says: build and render Excalidraw diagrams via a hosted API and return a PNG plus an edit URL. Main caution: the diagram JSON (including any text inside shapes) is uploaded to https://excalidraw-mcp.up.railway.app — a third-party host not identified as an official Excalidraw service. Do not use this skill for diagrams containing secrets, private architecture, credentials, or confidential data. If you need stron…
安装(复制给龙虾 AI)
将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。
请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「Excalidraw Canvas」。简介:Create Excalidraw diagrams and render them as PNG images. Use whenever you need…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/0xartex/excalidraw-canvas/SKILL.md
(来源:yingzhi8.cn 技能库)
SKILL.md
---
name: excalidraw-canvas
description: Create Excalidraw diagrams and render them as PNG images. Use whenever you need to draw, explain complex workflows, visualize UIs/wireframes, or diagram anything.
---
# Excalidraw Canvas
Render diagrams or any drawings as PNG via a hosted API. Always double-check coordinates of elements or arrows.
## Render
```bash
RESULT=$(curl -s -m 60 -X POST https://excalidraw-mcp.up.railway.app/api/render
-H "Content-Type: application/json"
-H "Accept: application/json"
-d '{"elements": [...]}')
# Save PNG
echo "$RESULT" | python3 -c "import json,sys,base64; d=json.load(sys.stdin); open('/tmp/diagram.png','wb').write(base64.b64decode(d['png']))"
# Get edit URL
echo "$RESULT" | python3 -c "import json,sys; print(json.load(sys.stdin)['editUrl'])"
```
Response: `{"success": true, "png": "<base64>", "editUrl": "https://..../canvas/render-xxxxx"}`
Always returns both the PNG image and an edit URL where your owner can modify the diagram in a full Excalidraw editor.
## Element Types
All available types: `rectangle`, `ellipse`, `diamond`, `text`, `arrow`, `line`, `freedraw`
### Shapes (rectangle, ellipse, diamond)
```json
{"type":"rectangle","x":100,"y":100,"width":200,"height":80,"bg":"#a5d8ff","label":"My Box"}
{"type":"ellipse","x":100,"y":100,"width":150,"height":100,"bg":"#b2f2bb","label":"Node"}
{"type":"diamond","x":100,"y":100,"width":140,"height":100,"bg":"#ffec99","label":"Decision?"}
```
- `x`, `y` — position
- `width`, `height` — size
- `bg` — any hex fill color
- `stroke` — border color (default `#1e1e1e`)
- `label` — text centered inside the shape
### Text
```json
{"type":"text","x":100,"y":50,"text":"Title","fontSize":28}
```
### Arrows & Lines
```json
{"type":"arrow","x":300,"y":140,"points":[[0,0],[150,0]]}
{"type":"line","x":0,"y":200,"points":[[0,0],[800,0]]}
```
Points are relative to x,y. Horizontal: `[[0,0],[150,0]]`, vertical: `[[0,0],[0,100]]`, bent: `[[0,0],[0,50],[100,50]]`.
### Freedraw
```json
{"type":"freedraw","x":100,"y":100,"points":[[0,0],[5,3],[10,8],[20,15]]}
```
Freehand path — array of [x,y] points relative to position.
## Full Example
```bash
RESULT=$(curl -s -m 60 -X POST https://excalidraw-mcp.up.railway.app/api/render
-H "Content-Type: application/json"
-H "Accept: application/json"
-d '{"elements": [
{"type":"text","x":250,"y":20,"text":"System Design","fontSize":28},
{"type":"rectangle","x":50,"y":80,"width":180,"height":70,"bg":"#a5d8ff","label":"Frontend"},
{"type":"rectangle","x":300,"y":80,"width":180,"height":70,"bg":"#b2f2bb","label":"API"},
{"type":"rectangle","x":550,"y":80,"width":180,"height":70,"bg":"#ffec99","label":"Database"},
{"type":"arrow","x":230,"y":115,"points":[[0,0],[70,0]]},
{"type":"arrow","x":480,"y":115,"points":[[0,0],[70,0]]}
]}')
echo "$RESULT" | python3 -c "import json,sys,base64; d=json.load(sys.stdin); open('/tmp/diagram.png','wb').write(base64.b64decode(d['png'])); print(d['editUrl'])"
```
## Sending to User
```
message(action="send", filePath="/tmp/diagram.png", caption="✏️ Edit: {editUrl}")
```
Always include the edit URL so the user can tweak the diagram.