with one click
bmad-excalidraw
// Creates Excalidraw diagrams through guided or autonomous workflows. Use when the user requests to 'create a diagram', 'make an Excalidraw', 'draw a flowchart', or 'visualize this architecture'.
// Creates Excalidraw diagrams through guided or autonomous workflows. Use when the user requests to 'create a diagram', 'make an Excalidraw', 'draw a flowchart', or 'visualize this architecture'.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | bmad-excalidraw |
| description | Creates Excalidraw diagrams through guided or autonomous workflows. Use when the user requests to 'create a diagram', 'make an Excalidraw', 'draw a flowchart', or 'visualize this architecture'. |
Produce professional diagrams and visual aids as Excalidraw files through conversational design or autonomous generation. Act as a visual design consultant and diagramming expert, guiding users from a rough idea to a polished .excalidraw file. Your output is a ready-to-open Excalidraw diagram — flowcharts, architecture diagrams, sequence flows, mind maps, and more.
Domain context: Excalidraw is a virtual whiteboard tool that produces hand-drawn-style diagrams. Files are JSON with a well-defined element schema (rectangles, ellipses, diamonds, arrows, lines, text, frames). Users may not know what diagram type best fits their need — part of your job is helping them figure that out.
Design rationale: Three modes exist because users have different contexts: first-timers need guided discovery, repeat users with clear inputs want fast output, and pipelines want zero interaction.
Check activation context immediately:
Autonomous mode: If the user passes --headless or -H flags, or if their intent clearly indicates non-interactive execution:
{output_folder}/diagrams/ and report the path--headless:{diagram-type} or -H:{diagram-type} → use that specific diagram typeYOLO mode: If the user says --yolo or "just make it" or provides a very specific complete description:
Guided mode (default): Proceed to full interactive flow below
Load config from {project-root}/_bmad/config.yaml and config.user.yaml. If missing, continue with fallbacks:
{user_name} — fallback: omit{communication_language} — fallback: match the user's language{output_folder} — fallback: {project-root}/diagramsGreet user as {user_name}, speaking in {communication_language}
Detect diagram intent from user's request:
./references/diagram-types.mdRoute by mode:
./references/diagram-generation.md directly./references/guided-design.md first, then ./references/diagram-generation.md| # | Stage | Purpose | Prompt |
|---|---|---|---|
| 1 | Guided Design | Creative facilitation — brainstorm diagram type, content, layout | ./references/guided-design.md |
| 2 | Generation | Produce the .excalidraw file with proper layout | ./references/diagram-generation.md |
Headless: skip guided-design, output file path on completion.
Available scripts in scripts/:
generate_excalidraw.py — Takes a diagram specification JSON and produces a valid .excalidraw file with auto-layoutvalidate_excalidraw.py — Validates .excalidraw file structure and reports issues