SuperAPI AI Directory

bmad-excalidraw

Design & creation

View repository

Updated 10-15 17:27

About this skill

Excalidraw Diagram Builder

Overview

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.

Activation Mode Detection

Check activation context immediately:

  1. Autonomous mode: If the user passes --headless or -H flags, or if their intent clearly indicates non-interactive execution:
    • Skip questions, infer diagram type and content from the prompt
    • Generate the diagram with sensible defaults
    • Save to {output_folder}/diagrams/ and report the path
    • If --headless:{diagram-type} or -H:{diagram-type} → use that specific diagram type
  1. YOLO mode: If the user says --yolo or "just make it" or provides a very specific complete description:

    • Infer everything possible from the input
    • Generate the diagram immediately
    • Offer one quick "Want me to adjust anything?" before finishing
  2. Guided mode (default): Proceed to full interactive flow below

On Activation

  1. 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}/diagrams
  2. Greet user as {user_name}, speaking in {communication_language}

  3. Detect diagram intent from user's request:

    • What do they want to visualize?
    • Did they specify a diagram type? If so, validate against ./references/diagram-types.md
    • Did they specify enough detail to skip guided design?
  4. Route by mode:

    • Autonomous/YOLO → ./references/diagram-generation.md directly
    • Guided → ./references/guided-design.md first, then ./references/diagram-generation.md

Stages

# 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.

Scripts

Available scripts in scripts/:

  • generate_excalidraw.py — Takes a diagram specification JSON and produces a valid .excalidraw file with auto-layout
  • validate_excalidraw.py — Validates .excalidraw file structure and reports issues