
Excalidraw Obsidian
- 9 installs
- 12 repo stars
- Updated July 21, 2026
- arjunmahishi/dotfiles
excalidraw-obsidian is a skill that creates or updates Excalidraw diagrams as .md files compatible with the obsidian-excalidraw-plugin in an Obsidian vault.
About
A skill for creating and updating Excalidraw diagrams inside an Obsidian vault. It writes .md files that follow the obsidian-excalidraw-plugin format, with the required frontmatter, a Text Elements section, and a raw-JSON Drawing section wrapped in %%. A developer uses it to draw or edit diagrams in their notes, rewriting the full file when needed because the plugin compresses saved JSON.
- Creates or updates Excalidraw diagrams as .md files compatible with the obsidian-excalidraw-plugin
- Documents the exact plugin file format: frontmatter, Text Elements, and %%-wrapped Drawing JSON
- Explains why compressed-json can't be surgically edited and how to rewrite the full file
Excalidraw Obsidian by the numbers
- 9 all-time installs (skills.sh)
- Ranked #1,150 of 1,879 Documentation skills by installs in the Skillselion catalog
- Data as of Jul 28, 2026 (Skillselion catalog sync)
excalidraw-obsidian capabilities & compatibility
- Capabilities
- documentation
- Works with
- obsidian
- Use cases
- documentation
What excalidraw-obsidian says it does
Create or update Excalidraw drawings in the Obsidian vault at `~/notes/obsedian/Excalidraw/`.
The plugin compresses JSON into `compressed-json` format on save. You CANNOT surgically edit compressed content.
npx skills add https://github.com/arjunmahishi/dotfiles --skill excalidraw-obsidianAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 9 |
|---|---|
| repo stars | ★ 12 |
| Last updated | July 21, 2026 |
| Repository | arjunmahishi/dotfiles ↗ |
What it does
Create or update Excalidraw diagrams as Obsidian .md files that follow the obsidian-excalidraw-plugin format.
Who is it for?
Producing obsidian-excalidraw-plugin-compatible diagram files in a notes vault.
Skip if: Surgically editing already-compressed Excalidraw JSON, which the plugin format does not allow.
When should I use this skill?
When the user wants to create or update an Excalidraw diagram in their Obsidian vault.
What you get
A valid .md Excalidraw file the plugin can load, with correct frontmatter and drawing JSON.
- An Obsidian .md file containing an Excalidraw diagram
By the numbers
- 5 key formatting rules
Files
Excalidraw Obsidian Diagrams
Create or update Excalidraw drawings in the Obsidian vault at ~/notes/obsedian/Excalidraw/.
File Format
Files use the .md extension (NOT .excalidraw or .excalidraw.md) and follow this structure:
---
excalidraw-plugin: parsed
tags: [excalidraw]
---
==Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document.==
# Excalidraw Data
## Text Elements
<text content> ^<element-id>
## Drawing
` ` `json
{
"type": "excalidraw",
"version": 2,
"source": "https://excalidraw.com",
"elements": [...],
"appState": {
"viewBackgroundColor": "#ffffff",
"gridSize": null
},
"files": {}
}
` ` `
%%Key Rules
1. File extension: Always .md, never .excalidraw or .excalidraw.md 2. Text Elements section: List every text element's content followed by ^<id> — one blank line between each 3. Drawing section: Wrapped in %% at the end (the %% before ## Drawing and after the closing triple backticks) 4. JSON format: Use raw json code fence, NOT compressed-json. The plugin will compress it on load. 5. Frontmatter: Must include excalidraw-plugin: parsed and tags: [excalidraw]
Updating Existing Files
The plugin compresses JSON into compressed-json format on save. You CANNOT surgically edit compressed content. To update an existing file:
1. Reconstruct the full elements array from context or by re-reading the .excalidraw source if available 2. Rewrite the entire ## Drawing section with raw json 3. Update the ## Text Elements section to include any new text elements 4. The plugin will re-compress on next load
Element Format Reference
Use the Excalidraw MCP read_me tool to get the full element format reference including color palettes, element types, and examples. Call it once per session before creating diagrams.
Workflow
1. Call the Excalidraw MCP read_me tool (once per session) to get element format reference 2. Optionally use create_view to preview the diagram inline first 3. Write the .md file to the Excalidraw folder 4. If updating, rewrite the full file since compressed JSON can't be edited in place
Arguments
$ARGUMENTS — Description of what to draw or which file to update
Related skills
FAQ
What file extension does the plugin use?
Always .md, never .excalidraw or .excalidraw.md.
Can I edit an existing compressed drawing in place?
No. The plugin compresses JSON on save, so you must rewrite the full Drawing section in raw json.