From sample-plugins
Generates Excalidraw diagrams like flowcharts, architecture visuals, sequence flows, and mind maps via guided, YOLO, or autonomous modes.
npx claudepluginhub bmad-code-org/bmad-builder --plugin bmad-dream-weaver-agentThis skill uses the workspace's default tool permissions.
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.
Generates Excalidraw JSON diagram files (.excalidraw) for visualizing workflows, architectures, and concepts as visual arguments with evidence artifacts for technical diagrams.
Generates Excalidraw diagrams from natural language including flowcharts, mind maps, architectures, ER diagrams, and sequence diagrams. Outputs editable .excalidraw JSON files.
Generates hand-drawn Excalidraw diagrams for sketch-style architecture, system designs, concept maps, and user flows. Outputs embeddable files for Obsidian or standalone use.
Share bugs, ideas, or general feedback.
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