excalidraw-diagram
Use when someone asks to draw a diagram, make an Excalidraw diagram, or build an editable diagram.
Skill by MichaelZelbel
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/michaelzelbel-excalidraw-diagram
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/excalidraw-diagram
What's inside
- Skill name
excalidraw-diagram- Description
- Use when someone asks to draw a diagram, make an Excalidraw diagram, or build an editable diagram. Default for all diagram requests.
- License
- MIT
- Instructions
- 252 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
## Workflow ### Step 1: Understand the request Before generating anything, make sure you know: - What concept or system are they diagramming? - What are the major components or sections? - What is the flow or relationship between them? If the request is vague (e.g., "make a diagram of Docker"), ask 1-2 clarifying questions: - What specific aspect? (architecture, networking, volumes, etc.) - What level of detail? (high-level overview vs. detailed internals) ### Step 2: Research if needed If you're not confident about the technical accuracy of the concept, research it before diagramming. Verify: - Correct component names and relationships - Proper hierarchy and nesting - Accurate data flow direction ### Step 3: Plan the layout Before writing any JSON, sketch the layout mentally: - What are the major sections? (left-to-right or top-to-bottom) - What is nested inside what? - What arrows connect what? Write down the section plan: ``` [Section A: w=170] --40px gap-- [Section B: w=170] --40px gap-- [Section C: w=640] ``` ### Step 4: Generate elements Build elements in order: 1. Outer boxes / containers first 2. Section header text 3. Nested elements (top to bottom within each section) 4. Arrows and arrow labels last ### Step 5: Save and deliver 1. Save to `[concept-slug].excalidraw` in the current directory 2. Show the full JSON in a code block so the user can copy it directly 3. Briefly describe what the diagram shows and what each color zone represents 4. Tell the user how to use the file: > **How to view and edit your diagram:** > - Go to excalidraw.com (free, no account needed) > - Option A: Click the menu (top-left hamburger icon) > "Open" > select the `.excalidraw` file > - Option B: Copy the JSON code block above, open excalidraw.com, and paste it with Ctrl+V / Cmd+V > - Every element is fully editable -- drag to move, grab handles to resize, double-click to edit text ### Step 6: Handle feedback If the user asks for changes: - Shifting an element = update x/y on that element + all elements that depend on it - Changing text = update both `text` and `originalText` fields - Adding a zone = assign it a new color from the palette, keep spacing consistent - If a diagram gets complex (20+ elements), build it section by section to avoid coordinate errors --- ## Critical Rule: Text Contrast Text inside colored shapes must be readable. Use `#1e1e1e` (near-black) or `#343a40` (dark charcoal) for all text inside filled shapes. Never use the zone's stroke color for text sitting on that zone's background (e.g., yellow text on a yellow card is unreadable). Reserve the zone's strokeColor for shape borders and arrows only. --- ## Design Principles **Color tells the story:** One color per logical zone. Everything in the "input" zone is blue. Everything in the "output" zone is green. The viewer should understand structure before reading a word. **Nesting shows containment:** If X lives inside Y, X's box is drawn inside Y's box with consistent padding. Coordinates are absolute, not relative: `child_x = parent_x + padding`. **Labels are short:** 2-5 words per label. Longer explanations become annotations with smaller fontSize and muted color (`#868e96`). **White space is structure:** 15px minimum gap between siblings. 40px minimum between major sections. **Arrows carry intent:** Color arrows to match purpose. Label every non-obvious arrow. --- ## Layout System Always plan coordinates before writing JSON. 1. Identify major sections (left-to-right or top-to-bottom) 2. Assign fixed width and starting x to each section 3. Calculate gaps: 40-60px between major sections, 15-25px between siblings 4. Work top-to-bottom within sections: `next_y = current_y + current_height + gap` **Padding rules:** - Outer box to inner label: 8-10px top offset - Outer box to nested box: 10-15px offset on all sides - Sibling elements: 10-15px gap **Text width trick:** Set text width = parent box width. Text centers automatically when `textAlign: "center"`. **Arrow labels:** Position as separate text elements, 20-25px above the arrow's midpoint y, with width and x matching the arrow. **Coordinate math example:** ``` Section A: x=30, w=170 -> right edge = 200 Gap: 40px Section B: x=240, w=170 -> right edge = 410 Gap: 40px Section C: x=450, w=600 -> right edge = 1050 ``` --- ## Color System | Zone | Use for | strokeColor | backgroundColor | |------|---------|-------------|-----------------| | Blue | Input, source, external services | `#1971c2` | `#e7f5ff` | | Yellow | Processing, transformation | `#f59f00` | `#fff9db` | | Green | Output, containers, success | `#2f9e44` | `#d3f9d8` | | Purple | Shared layers, infrastructure | `#862e9c` | `#f3d9fa` | | Red | Host OS, warnings, errors | `#c92a2a` | `#ffe3e3` | | Gray | Hardware, neutral containers | `#495057` | `#f8f9fa` | For nested elements, vary the fill intensity: - Outer: lightest (e.g., `#d3f9d8`)
From MichaelZelbel/godspeed-mission-control, MIT.
More from MichaelZelbel/godspeed-mission-control
- 0.570score
excalidraw-visuals
MichaelZelbel
Use when someone asks for a hand-drawn visual, PNG image, rendered diagram, visual explanation, visualization, or says "make a visual" or "draw a visual".
SkillAFreshness: AClaude Code +9 - 0.567score
book-title-strategist
MichaelZelbel
Generate, evaluate, and validate marketable titles and subtitles for nonfiction books.
SkillAFreshness: AClaude Code +9 - 0.565score
coach
MichaelZelbel
Coaching talks and daily habits.
SkillAFreshness: AClaude Code +9 - 0.565score
food-tracker
MichaelZelbel
The person's own food tracker.
SkillAFreshness: AClaude Code +9 - 0.565score
context-setup
MichaelZelbel
Getting to know your owner after the technical setup, in a short chat you lead.
SkillAFreshness: AClaude Code +9 - 0.565score
cycle-tracker
MichaelZelbel
The person's own cycle tracker, for her period.
SkillAFreshness: AClaude Code +9 - 0.565score
connect-email
MichaelZelbel
Connect the person's Gmail to the mission control when they say "connect Gmail for me", "connect my email", "can you read my email", "set up email", "Gmail…
SkillAFreshness: AClaude Code +9 - 0.565score
browser-post
MichaelZelbel
Use when a Planino browser posting job is queued or named ("post job 12 now", "post the queued browser jobs", the waker's prompt).
SkillAFreshness: AClaude Code +9 - 0.561score
daily-brief
MichaelZelbel
Collect dated evidence, write and check one morning note, rehearse without live side effects, and explain the exact delivered version.
SkillAFreshness: AClaude Code +9 - 0.561score
audit
MichaelZelbel
Audit the selected Godspeed Mission Control installation across context, connections, capabilities and cadence, with evidence and three ranked structural…
SkillAFreshness: AClaude Code +9 - 0.561score
due
MichaelZelbel
Carry an obligation with an actual target or costly deadline, completion evidence, self-check and recurrence.
SkillAFreshness: AClaude Code +9 - 0.555score
book-title-creator
MichaelZelbel
Creates, audits, compares, improves, and validates marketable book titles and subtitles.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 10
- Last commit (this folder)
- Oct 18, 2026 (10 days ago)
- Last release
- Oct 24, 2026 (4 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Website
- leanpub.com/teachitonce
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from MichaelZelbel
- 0.570score
excalidraw-visuals
MichaelZelbel
Use when someone asks for a hand-drawn visual, PNG image, rendered diagram, visual explanation, visualization, or says "make a visual" or "draw a visual".
SkillAFreshness: AClaude Code +9 - 0.567score
book-title-strategist
MichaelZelbel
Generate, evaluate, and validate marketable titles and subtitles for nonfiction books.
SkillAFreshness: AClaude Code +9 - 0.565score
coach
MichaelZelbel
Coaching talks and daily habits.
SkillAFreshness: AClaude Code +9 - 0.565score
context-setup
MichaelZelbel
Getting to know your owner after the technical setup, in a short chat you lead.
SkillAFreshness: AClaude Code +9 - 0.565score
cycle-tracker
MichaelZelbel
The person's own cycle tracker, for her period.
SkillAFreshness: AClaude Code +9 - 0.565score
connect-email
MichaelZelbel
Connect the person's Gmail to the mission control when they say "connect Gmail for me", "connect my email", "can you read my email", "set up email", "Gmail…
SkillAFreshness: AClaude Code +9
Cite this page
excalidraw-diagram skill. Agent Mart. https://agentmart.dev/skills/michaelzelbel-excalidraw-diagram (last updated 2026-10-24)