excalidraw — agent skill
Create and edit Excalidraw diagrams from Claude Code, Codex, or any agent harness — flowcharts, architecture diagrams, sequence diagrams, UML, Gantt charts, mind maps, wireframes, slide decks, roadmaps, personas, brainstorming boards, Lean Canvas, SWOT and competitor analyses, and game-design boards, aligned with the official Excalidraw use cases.
Backed by the official Excalidraw+ MCP server
(https://api.excalidraw.com/api/v1/mcp) — scenes are created in your
Excalidraw+ workspace, verified by screenshot, and returned as links.
Install
npx skills add NicholasSpisak/excalidraw
Works with the Vercel skills framework; installs for Claude Code, Codex, and other supported agents.
Credentials
You need an Excalidraw+ API key (Excalidraw+ → Settings → API keys). Never commit it. Provide it one of two ways:
# environment variable (works for the bundled CLI and Codex MCP config)
export EXCALIDRAW_API_KEY=sk-...
# or a key file the bundled CLI falls back to
mkdir -p ~/.config/excalidraw
printf '%s\n' 'sk-...' > ~/.config/excalidraw/api_key
chmod 600 ~/.config/excalidraw/api_key
Native MCP setup (optional, recommended)
The skill works out of the box through its bundled CLI. For native MCP tool calling, add the official server config:
Claude Code (~/.claude.json or .mcp.json):
{
"mcpServers": {
"excalidraw": {
"type": "http",
"url": "https://api.excalidraw.com/api/v1/mcp",
"headers": {
"Authorization": "Bearer <API_KEY>"
}
}
}
}
Codex (~/.codex/config.toml):
[mcp_servers.excalidraw]
url = "https://api.excalidraw.com/api/v1/mcp"
env_http_headers = { Authorization = "EXCALIDRAW_API_KEY" }
With env_http_headers, the env var's value is injected verbatim as the
header — set EXCALIDRAW_API_KEY="Bearer sk-...". (Codex's
bearer_token_env_var alternative takes the raw key and adds Bearer
itself. The bundled CLI accepts either form.)
Bundled CLI
node scripts/excal.mjs tools # list available tools
node scripts/excal.mjs help create_diagram # print a tool's input schema
node scripts/excal.mjs call create_diagram --json '{"sceneId":"...","nodes":[...],"edges":[...]}'
Zero dependencies; Node ≥ 18.
What's inside
SKILL.md the skill: transport choice, workflow, rules
scripts/excal.mjs MCP-over-HTTP CLI (auth via env var or key file)
references/use-cases.md layout playbook per Excalidraw use case
references/api.md tool catalog notes and sharp edges
License
MIT
Enjoy putting AI to work like this? It's what we teach business owners every day inside AI Operator Academy — practical AI systems, no engineering degree required.
No comments yet
Be the first to share your take.