Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install auroraphtgrp01-auroraphtgrp-coding-kit-skills-excalidrawgit clone https://github.com/auroraphtgrp01/auroraphtgrp-coding-kit.gitcp auroraphtgrp-coding-kit/SKILL.MD ~/.claude/skills/auroraphtgrp01-auroraphtgrp-coding-kit-skills-excalidraw/SKILL.md--- name: excalidraw description: >- Create Excalidraw diagrams — architecture, data flow, workflows, system design. Use when user wants to visualize, diagram, draw architecture, show data flow, create flowcharts, map components, or export .excalidraw files to PNG/SVG. Supports two modes: live MCP canvas (real-time) or file-based JSON + Playwright rendering. Also supports zero-config codebase auto-diagramming — just say "diagram this repo" or "visualize the architecture". category: dev-tools keywords: [diagrams, architecture, flowcharts, whiteboard, SVG] --- # Excalidraw Diagram Skill Generate diagrams that **argue visually** — shapes mirror meaning, not just labeled boxes. ## Mode Detection (Do This First) This skill supports two rendering backends. Detect which is available: **Mode A — MCP Canvas (preferred):** Test with `mcp__excalidraw__read_diagram_guide()`. If it works, use MCP tools for live canvas editing. See `references/mcp-workflow.md`. **Mode B — File-based (fallback):** Generate `.excalidraw` JSON files, render to PNG via Playwright. No server needed. See `references/file-workflow.md`. If neither is set up, guide the user through setup (see respective workflow files). --- ## Core Philosophy **Diagrams should ARGUE, not DISPLAY.** - **Isomorphism Test**: Remove all text — does the structure alone communicate the concept? - **Education Test**: Could someone learn something concrete, or does it just label boxes? - **Container Test**: Could any boxed element work as free-floating text? If yes, remove the box. Default to free-floating text. Add containers only when shapes carry meaning. Aim for <30% of text elements inside containers. --- ## Design Process (Before Generating Anything) ### Step 0: Assess Depth | Simple/Conceptual | Comprehensive/Technical | |---|---| | Abstract shapes, labels, relationships | Concrete examples, code snippets, real data | | Mental models, philosophies | Systems, architectures, tutorials | | ~30 seconds to explain | ~2-3 minutes of teaching | **For technical diagrams**: Research actual specs, event names, APIs before drawing. Include evidence artifacts. See `references/design-methodology.md`. ### Step 1: Map Concepts to Visual Patterns | Concept behavior | Pattern | |---|---| | Spawns multiple outputs | **Fan-out** (radial arrows) | | Combines inputs into one | **Convergence** (funnel) | | Has hierarchy/nesting | **Tree** (lines + text, no boxes) | | Sequence of steps | **Timeline** (line + dots + labels) | | Loops/improves continuously | **Spiral/Cycle** | | Abstract state/context | **Cloud** (overlapping ellipses) | | Transforms input→output | **Assembly line** (before→process→after) | | Compares two things | **Side-by-side** | | Separates into phases | **Gap/Break** | Each major concept should use a **different** visual pattern — no uniform card grids. ### Step 2: Plan Layout Guide the eye: typically left→right or top→bottom. Important elements get more whitespace. ### Step 3: Generate & Validate Follow the workflow for your active mode (MCP or file-based). --- ## Auto-Diagram (Zero-Config Codebase Analysis) When user says "diagram this repo", "visualize the architecture", or "auto diagram": Follow the full pipeline in `references/auto-diagram-guide.md`: 1. **Detect** project type and framework 2. **Discover** components (max 15 tool calls) 3. **Map** connections (max 10 tool calls) 4. **Verify** with user before drawing 5. **Select** layout pattern 6. **Generate** diagram using active mode **Limits**: Max 12 components, 20 arrows per diagram. Group if more found. --- ## Color Quick Reference Pull colors from `references/color-palette.md` (single source of truth). | Role | Background | Stroke | |---|---|---| | Frontend/UI | `#a5d8ff` | `#1971c2` | | Backend/API | `#d0bfff` | `#7048e8` | | Database | `#b2f2bb` | `#2f9e44` | | Storage | `#ffec99` | `#f08c00` | | AI/ML | `#e599f7` | `#9c36b5` | | External API | `#ffc9c9` | `#e03131` | | Queue/Event | `#fff3bf` | `#fab005` | | Cache | `#ffe8cc` | `#fd7e14` | | Decision | `#ffd8a8` | `#e8590c` | | Zone/Group | `#e9ecef` | `#868e96` | **Rule**: Same-role shapes get same colors. Max 3-4 fill colors per diagram. --- ## Shape Reference | Concept | Shape | Why | |---|---|---| | Labels, descriptions | **none** (free text) | Typography = hierarchy | | Timeline markers | small `ellipse` (10-20px) | Anchor, not container | | Start/trigger/input | `ellipse` | Soft, origin-like | | Decision/condition | `diamond` | Classic decision | | Process/action/step | `rectangle` | Contained action | | Abstract state | overlapping `ellipse` | Cloud-like | --- ## Sizing Rules **Err on the side of too much space.** Tight spacing is the #1 mistake. | Property | Value | |---|---| | Box width | 200-240px | | Box height | 120-160px | | Gap (labeled arrows) | **150-200px** | | Gap (unlabeled arrows) | 100-120px | | Row spacing | 280-350px | | Font (labels) | 16px | | Font (titles) | 20-24px | | Zone opacity | 25-40 | | Zone padding | 50-60px around children | --- ## Modern Aesthetics - `roughness: 0` for clean/modern (default), `1` for hand-drawn - `strokeWidth: 2` standard, `1` subtle, `3` emphasis - `opacity: 100` always — use color/size for hierarchy, not transparency - `fontFamily: 3` (monospace) - Arrow labels: `strokeStyle: "dashed"` for async, `"dotted"` for weak deps --- ## Self-Critique Loop (Both Modes) After generating, validate before presenting: 1. **Render/screenshot** — view the actual output 2. **Audit vs. vision** — does structure match the planned design? 3. **Check defects** — overlaps, clipped text, misrouted arrows, uneven spacing 4. **Fix** — adjust coordinates, widen containers, reroute arrows 5. **Re-render** — repeat until clean (typically 2-4 iterations, max 2 for MCP) **Stop when**: no clipped text, arrows connect correctly, spacing consistent, balanced composition. --- ## Quality Checklist - [ ] Research done (for technical diagrams) - [ ] Evidence artifacts included (code snippets, real data) - [ ] Multi-zoom: summary + sections + detail - [ ] Each concept uses different visual pattern - [ ] Minimal containers (<30% text in boxes) - [ ] Lines as structure for trees/timelines - [ ] All relationships have arrows - [ ] Clear visual flow path - [ ] `roughness: 0`, `opacity: 100`, `fontFamily: 3` - [ ] Rendered and visually validated - [ ] No overlapping/clipped elements - [ ] Balanced composition --- ## References (Load As Needed) | File | Content | |---|---| | `references/design-methodology.md` | Deep design philosophy, evidence artifacts, multi-zoom, large diagram strategy | | `references/mcp-workflow.md` | MCP canvas tools, batch creation, examples, self-critique | | `references/file-workflow.md` | JSON generation, section-by-section, render script usage | | `references/auto-diagram-guide.md` | Zero-config codebase analysis pipeline | | `references/color-palette.md` | All colors: semantic, platform (AWS/Azure/GCP/K8s), text hierarchy | | `references/element-templates.md` | Copy-paste JSON templates for file-based mode | | `references/json-schema.md` | Excalidraw JSON format reference |