Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
softaworks avatar

Excalidraw

  • 620 installs
  • 2.3k repo stars
  • Updated March 5, 2026
  • softaworks/agent-toolkit

This is a copy of excalidraw by davila7 - installs and ranking accrue to the original listing.

excalidraw is a Claude Code skill that delegates all Excalidraw file operations to subagents so developers can edit architecture diagrams without main agents loading 4k-22k-token JSON payloads.

About

excalidraw is a subagent delegation skill for *.excalidraw and *.excalidraw.json diagram files when users request flowcharts, architecture visuals, or diagram edits. Excalidraw JSON is verbose but low information density; single files cost roughly 4k-22k tokens and the largest files can exceed read-tool limits. excalidraw enforces a core rule: main agents never read Excalidraw files directly—always route reads and edits through subagents to isolate context consumption. Developers reach for excalidraw when agents must update system diagrams, whiteboard exports, or collaborative architecture boards without burning the primary session on raw JSON. The skill triggers on diagram keywords and prevents multi-diagram sessions from exhausting context after sequential file reads.

  • Delegates all Excalidraw operations to specialized subagents
  • Prevents context exhaustion from verbose JSON (4k–22k tokens per file)
  • Core principle: main agent never reads .excalidraw files directly
  • Triggers on file paths, diagram requests, or mentions of flowcharts and architecture
  • Isolates low signal-to-noise visual metadata from meaningful content

Excalidraw by the numbers

  • 620 all-time installs (skills.sh)
  • +17 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/softaworks/agent-toolkit --skill excalidraw

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs620
repo stars2.3k
Last updatedMarch 5, 2026
Repositorysoftaworks/agent-toolkit

How do agents edit Excalidraw files without context bloat?

Let their main coding agent safely work with Excalidraw diagram files without burning through context tokens.

Who is it for?

Developers using AI agents on architecture diagrams stored as Excalidraw JSON who hit token limits or read-tool caps.

Skip if: Static PNG or SVG diagrams that do not use Excalidraw's JSON file format.

When should I use this skill?

User mentions Excalidraw, *.excalidraw files, flowcharts, or architecture diagrams that need agent edits.

What you get

Updated Excalidraw diagrams, subagent-isolated JSON edits, and preserved main-agent context budget.

  • updated .excalidraw files
  • subagent edit summaries

By the numbers

  • Single Excalidraw files range from 4k-22k tokens
  • Largest Excalidraw files can exceed agent read-tool limits

Files

SKILL.mdMarkdownGitHub ↗

Excalidraw Subagent Delegation

Overview

Core principle: Main agents NEVER read Excalidraw files directly. Always delegate to subagents to isolate context consumption.

Excalidraw files are JSON with high token cost but low information density. Single files range from 4k-22k tokens (largest can exceed read tool limits). Reading multiple diagrams quickly exhausts context budget (7 files = 67k tokens = 33% of budget).

The Problem

Excalidraw JSON structure:

  • Each shape has 20+ properties (x, y, width, height, strokeColor, seed, version, etc.)
  • Most properties are visual metadata (positioning, styling, roughness)
  • Actual content: text labels and element relationships (<10% of file)
  • Signal-to-noise ratio is extremely low

Example: 14-element diagram = 596 lines, 16K, ~4k tokens. 79-element diagram = 2,916 lines, 88K, ~22k tokens (exceeds read limit).

When to Use

Trigger on ANY of these:

  • File path contains .excalidraw or .excalidraw.json
  • User requests: "explain/update/create diagram", "show architecture", "visualize flow"
  • User mentions: "flowchart", "architecture diagram", "Excalidraw file"
  • Architecture/design documentation tasks involving visual artifacts

Use delegation even for:

  • "Small" files (smallest is 4k tokens - still significant)
  • "Quick checks" (checking component names still loads full JSON)
  • Single file operations (isolation prevents context pollution)
  • Modifications (don't need full format understanding in main context)

Delegation Pattern

Main Agent Responsibilities

NEVER:

  • ❌ Use Read tool on *.excalidraw files
  • ❌ Parse Excalidraw JSON in main context
  • ❌ Load multiple diagrams for comparison
  • ❌ Inspect file to "understand the format"

ALWAYS:

  • ✅ Delegate ALL Excalidraw operations to subagents
  • ✅ Provide clear task description to subagent
  • ✅ Request text-only summaries (not raw JSON)
  • ✅ Keep diagram analysis isolated from main work

Subagent Task Templates

Read/Understand Operation
Task: Extract and explain the components in [file.excalidraw.json]

Approach:
1. Read the Excalidraw JSON
2. Extract only text elements (ignore positioning/styling)
3. Identify relationships between components
4. Summarize architecture/flow

Return:
- List of components/services with descriptions
- Connection/dependency relationships
- Key insights about the architecture
- DO NOT return raw JSON or verbose element details
Modify Operation
Task: Add [component] to [file.excalidraw.json], connected to [existing-component]

Approach:
1. Read file to identify existing elements
2. Find [existing-component] and its position
3. Create new element JSON for [component]
4. Add arrow elements for connections
5. Write updated file

Return:
- Confirmation of changes made
- Position of new element
- IDs of created elements
Create Operation
Task: Create new Excalidraw diagram showing [description]

Approach:
1. Design layout for [number] components
2. Create rectangle elements with text labels
3. Add arrows showing relationships
4. Use consistent styling (colors, fonts)
5. Write to [file.excalidraw.json]

Return:
- Confirmation of file created
- Summary of components included
- File location
Compare Operation
Task: Compare architecture approaches in [file1] vs [file2]

Approach:
1. Read both files
2. Extract text labels from each
3. Identify structural differences
4. Compare component relationships

Return:
- Key differences in architecture
- Components unique to each approach
- Relationship/flow differences
- DO NOT return full element details from both files

Common Rationalizations (STOP and Delegate Instead)

ExcuseRealityWhat to Do
"Direct reading is most efficient"Consumes 4k-22k tokens unnecessarilyDelegate to subagent
"It's token-efficient to read directly"Baseline tests showed 9-45% budget usedAlways delegate
"This is optimal for one-time analysis""One-time" still pollutes main contextSubagent isolation
"The JSON is straightforward"Simplicity ≠ token efficiencyDelegate anyway
"I need to understand the format"Format understanding not needed in main agentSubagent handles format
"Within reasonable bounds" (18k tokens)"Reasonable" is subjective rationalizationHard rule: delegate
"Just a quick check of components""Quick check" still loads full JSONExtract text via subagent
"File is small (16K)"4k tokens is NOT smallSize threshold doesn't matter

Red Flags - STOP and Delegate

Catch yourself about to:

  • Use Read tool on .excalidraw file
  • "Quickly check" what components exist
  • "Understand the structure" before modifying
  • Load file to "see what's there"
  • Compare multiple diagrams side-by-side
  • Parse JSON to "extract just the text"

All of these mean: Use Task tool with subagent instead.

Quick Reference

OperationMain Agent ActionSubagent Returns
Understand diagramDelegate with "Extract and explain" templateComponent list + relationships
Modify diagramDelegate with "Add [X] connected to [Y]" templateConfirmation + changes made
Create diagramDelegate with "Create showing [description]" templateFile location + summary
Compare diagramsDelegate with "Compare [A] vs [B]" templateKey differences (not raw JSON)

Token Analysis (Why This Matters)

Real data from baseline testing:

ScenarioWithout DelegationWith DelegationSavings
Single large file22k tokens (45% budget)~500 tokens (subagent summary)98%
Two-file comparison18k tokens (9% budget)~800 tokens (diff summary)96%
Modification task14k tokens (7% budget)~300 tokens (confirmation)98%

Context pollution impact:

  • Reading all 7 project diagrams: 67k tokens (33% of 200k budget)
  • With delegation: ~2k tokens (isolated in subagents)
  • Savings: 97% context budget preserved

Implementation Example

❌ BAD (Direct Read):

User: "What architecture is shown in detailed-architecture.excalidraw.json?"
Agent: Let me read that file... [reads 22k tokens into main context]

✅ GOOD (Subagent Delegation):

User: "What architecture is shown in detailed-architecture.excalidraw.json?"
Agent: I'll use a subagent to extract the architecture details.

[Dispatches Task tool with general-purpose subagent]
Task: Extract and explain components in .ryanquinn3/ticketing/detailed-architecture.excalidraw.json

[Receives ~500 token summary with component list and relationships]
[Responds to user with architecture explanation, main context preserved]

Why "Straightforward JSON" Doesn't Matter

Agents often rationalize: "The format is simple, I can just read it."

The problem isn't complexity - it's verbosity:

  • Simple structure with 20+ properties per element
  • Repetitive metadata (seed, version, nonce, roughness)
  • Positioning data (x, y, width, height) not semantically useful
  • Visual styling (strokeColor, opacity, fillStyle) irrelevant to content

Token cost comes from volume, not complexity.

Even "straightforward" JSON consumes 4k-22k tokens because:

  • 79 elements × ~280 tokens/element = 22k tokens
  • Most tokens are metadata noise
  • Only text labels and relationships matter (~10% of content)

The Iron Law

Main agents NEVER read Excalidraw files. No exceptions.

Not for:

  • "Quick checks"
  • "Small files"
  • "Understanding format"
  • "One-time analysis"
  • "Optimal efficiency"

Always delegate. Isolation is free via subagents.

Related skills

How it compares

Pick excalidraw when agents must manipulate Excalidraw JSON; use Mermaid or ASCII diagram skills for lightweight text-native diagrams.

FAQ

Why delegate Excalidraw work to subagents?

excalidraw delegates because Excalidraw JSON files cost roughly 4k-22k tokens each with low information density, and reading multiple diagrams can exceed agent read limits while wasting main-session context.

Which file types trigger the excalidraw skill?

excalidraw triggers on *.excalidraw and *.excalidraw.json files plus user mentions of diagrams, flowcharts, or architecture visualization requests.

AI & Agent Buildingagentsautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.