Excalidraw Diagram
infometa/workbuddyskills
Create Excalidraw diagrams for workflows, architectures, protocols, concepts, and system explanations.
Generates architecture diagrams as .excalidraw files by analyzing a codebase, with optional PNG or SVG export through Playwright.
$ npx skills add ooiyeefei/ccc --skill excalidraw -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ooiyeefei/ccc excalidraw --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/excalidraw .claude/skills/excalidraw && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "excalidraw" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/excalidraw into .claude/skills/excalidraw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excalidraw", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ooiyeefei/ccc/tree/main/skills/excalidrawType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ooiyeefei/ccc --skill excalidraw -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ooiyeefei/ccc excalidraw --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/excalidraw .agents/skills/excalidraw && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "excalidraw" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/excalidraw into .agents/skills/excalidraw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excalidraw", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ooiyeefei/ccc --skill excalidraw -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ooiyeefei/ccc excalidraw --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/excalidraw .cursor/skills/excalidraw && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "excalidraw" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/excalidraw into .cursor/skills/excalidraw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excalidraw", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ooiyeefei/ccc.git --path skills/excalidraw--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ooiyeefei/ccc --skill excalidraw -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ooiyeefei/ccc excalidraw --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/excalidraw .gemini/skills/excalidraw && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "excalidraw" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/excalidraw into .gemini/skills/excalidraw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excalidraw", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ooiyeefei/ccc excalidrawInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ooiyeefei/ccc --skill excalidraw -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/excalidraw .github/skills/excalidraw && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "excalidraw" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/excalidraw into .github/skills/excalidraw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excalidraw", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ooiyeefei/ccc --skill excalidraw -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ooiyeefei/ccc excalidraw --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/excalidraw .opencode/skills/excalidraw && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "excalidraw" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/excalidraw into .opencode/skills/excalidraw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excalidraw", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
excalidrawGenerates architecture diagrams as .excalidraw files by analyzing a codebase, with optional PNG or SVG export through Playwright.
The agent analyzes a codebase in any language or framework, picks out components, services, databases and APIs, maps their relationships and data flows, and writes valid .excalidraw JSON with generated ids and labels. It can then export PNG or SVG with Playwright. Nothing needs to exist beforehand: no earlier diagrams, Terraform or particular file types. Discovery hints cover monorepos with workspace configs and microservices with docker-compose or Kubernetes manifests.
Four rules address quirks of hand-written Excalidraw JSON. Never use diamond shapes, because their arrow connections break, so use styled rectangles. Labels need two elements, a shape with a bound-elements reference plus a text element. Elbow arrows need three properties for clean right angles, and arrows must start and end at shape edges, not centers. Reference files cover arrows, colors, examples, export, the JSON format and validation.
11 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c0fd926. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are json).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
excalidraw.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Excalidraw Architecture Diagrams loads about 2k tokens when it runs, and up to ~10k if it reads all its reference files. Until then it costs about 84 tokens; SKILL.md has 680 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ooiyeefei/ccc at commit c0fd926, republished under its MIT licence (© ooiyeefei). 680 words, ~1,956 tokens.
.claude/skills/excalidraw/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.Generate architecture diagrams as .excalidraw files directly from codebase analysis, with optional export to PNG and SVG.
User just asks:
"Generate an architecture diagram for this project"
"Create an excalidraw diagram of the system"
"Visualize this codebase as an excalidraw file"Claude Code will:
.excalidraw JSON with dynamic IDs and labelsNo prerequisites: Works without existing diagrams, Terraform, or specific file types.
Diamond arrow connections are broken in raw Excalidraw JSON. Use styled rectangles instead:
| Semantic Meaning | Rectangle Style |
|---|---|
| Orchestrator/Hub | Coral (#ffa8a8/#c92a2a) + strokeWidth: 3 |
| Decision Point | Orange (#ffd8a8/#e8590c) + dashed stroke |
The label property does NOT work in raw JSON. Every labeled shape needs:
// 1. Shape with boundElements reference
{
"id": "my-box",
"type": "rectangle",
"boundElements": [{ "type": "text", "id": "my-box-text" }]
}
// 2. Separate text element with containerId
{
"id": "my-box-text",
"type": "text",
"containerId": "my-box",
"text": "My Label"
}For 90-degree corners (not curved):
{
"type": "arrow",
"roughness": 0, // Clean lines
"roundness": null, // Sharp corners
"elbowed": true // 90-degree mode
}Arrows must start/end at shape edges, not centers:
| Edge | Formula |
|---|---|
| Top | (x + width/2, y) |
| Bottom | (x + width/2, y + height) |
| Left | (x, y + height/2) |
| Right | (x + width, y + height/2) |
Detailed arrow routing: See references/arrows.md
| Type | Use For |
|---|---|
rectangle | Services, databases, containers, orchestrators |
ellipse | Users, external systems, start/end points |
text | Labels inside shapes, titles, annotations |
arrow | Data flow, connections, dependencies |
line | Grouping boundaries, separators |
Full JSON format: See references/json-format.md
Discover components by looking for:
| Codebase Type | What to Look For |
|---|---|
| Monorepo | packages/*/package.json, workspace configs |
| Microservices | docker-compose.yml, k8s manifests |
| IaC | Terraform/Pulumi resource definitions |
| Backend API | Route definitions, controllers, DB models |
| Frontend | Component hierarchy, API calls |
Use tools:
Glob → **/package.json, **/Dockerfile, **/*.tfGrep → app.get, @Controller, CREATE TABLERead → README, config files, entry pointsVertical flow (most common):
Row 1: Users/Entry points (y: 100)
Row 2: Frontend/Gateway (y: 230)
Row 3: Orchestration (y: 380)
Row 4: Services (y: 530)
Row 5: Data layer (y: 680)
Columns: x = 100, 300, 500, 700, 900
Element size: 160-200px x 80-90pxOther patterns: See references/examples.md
For each component:
idboundElements referencing textcontainerIdColor palettes: See references/colors.md
For each relationship:
points arrayArrow patterns: See references/arrows.md
For logical groupings:
strokeStyle: "dashed"Run validation before writing. Save to docs/ or user-specified path.
Validation checklist: See references/validation.md
After writing the .excalidraw file, ask the user if they want PNG, SVG, or both exports.
Uses Playwright MCP tools and @excalidraw/utils to programmatically render the diagram — no manual upload to excalidraw.com needed.
Requires: Playwright MCP tools (browser_navigate, browser_run_code, browser_close).
Full export procedure: See references/export.md
Straight down:
{ "points": [[0, 0], [0, 110]], "x": 590, "y": 290 }L-shape (left then down):
{ "points": [[0, 0], [-325, 0], [-325, 125]], "x": 525, "y": 420 }U-turn (callback):
{ "points": [[0, 0], [50, 0], [50, -125], [20, -125]], "x": 710, "y": 440 }Arrow width/height = bounding box of points:
points [[0,0], [-440,0], [-440,70]] → width=440, height=70Multiple arrows from same edge - stagger positions:
5 arrows: 20%, 35%, 50%, 65%, 80% across edge width| Component | Background | Stroke |
|---|---|---|
| Frontend | #a5d8ff | #1971c2 |
| Backend/API | #d0bfff | #7048e8 |
| Database | #b2f2bb | #2f9e44 |
| Storage | #ffec99 | #f08c00 |
| AI/ML | #e599f7 | #9c36b5 |
| External APIs | #ffc9c9 | #e03131 |
| Orchestration | #ffa8a8 | #c92a2a |
| Message Queue | #fff3bf | #fab005 |
| Cache | #ffe8cc | #fd7e14 |
| Users | #e7f5ff | #1971c2 |
Cloud-specific palettes: See references/colors.md
Before writing file:
elbowed: true, roundness: nullFull validation algorithm: See references/validation.md
| Issue | Fix |
|---|---|
| Labels don't appear | Use TWO elements (shape + text), not label property |
| Arrows curved | Add elbowed: true, roundness: null, roughness: 0 |
| Arrows floating | Calculate x,y from shape edge, not center |
| Arrows overlapping | Stagger start positions across edge |
Detailed bug fixes: See references/validation.md
| File | Contents |
|---|---|
references/json-format.md | Element types, required properties, text bindings |
references/arrows.md | Routing algorithm, patterns, bindings, staggering |
references/colors.md | Default, AWS, Azure, GCP, K8s palettes |
references/examples.md | Complete JSON examples, layout patterns |
references/validation.md | Checklists, validation algorithm, bug fixes |
references/export.md | PNG/SVG export procedure via Playwright |
docs/architecture/ or user-specifiedsystem-architecture.excalidrawsystem-architecture.svg and/or system-architecture.png in same directory.excalidraw in https://excalidraw.com or VS Code extension; .svg and .png can be viewed directly or embedded in documentation© ooiyeefei, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 7 other files (references) in skills/excalidraw of ooiyeefei/ccc.
Open the folder on GitHubat commit c0fd926
Excalidraw Architecture Diagrams next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Excalidraw Architecture Diagrams this skillooiyeefei/ccc | 494 | — | ~2k | Automated safety check: Pass | MIT | |
| Excalidraw Diagraminfometa/workbuddyskills | 346 | — | ~951 | Automated safety check: Notes | None | |
| Whiteboard Videotrustfuture/simon-skills | 374 | — | ~1.8k | Automated safety check: Notes | MIT | |
| Whiteboard Video Factorywwwzhouhui/skills_collection | 283 | — | ~4.9k | Automated safety check: Notes | None | |
| SVG Diagram GeneratorJimLiu/baoyu-skills | 26k | 1 repos | ~3.1k | Automated safety check: Pass | MIT | |
| Excalidraw Diagram Studiotech-leads-club/agent-skills | 7k | — | ~3.6k | Automated safety check: Pass | CC-BY-4.0 |
infometa/workbuddyskills
Create Excalidraw diagrams for workflows, architectures, protocols, concepts, and system explanations.
trustfuture/simon-skills
手绘白板风"边画边讲"讲解视频出片 skill(Excalidraw 风格逐笔动画 + 火山引擎配音 + 烧录字幕 + 品牌水印与片尾卡 + 横竖两张封面 + 各平台发布文案)。当用户说"做一期白板视频 / 边画边讲 / 手绘讲解视频 / 用 excalidraw 做视频 / whiteboard video",或要在本仓库里新建一期、改场景、换贴纸或真实…
wwwzhouhui/skills_collection
手绘白板风"边画边讲"讲解视频出片 skill(Excalidraw 逐笔动画 + 火山/小米/edge-tts 配音 + 烧录字幕并逐段跟读高亮 + 品牌水印与片尾卡 + 三张封面 4:3 / 3:4 / 9:16 + 各平台发布文案:视频号 / 小红书 / 抖音 / B 站 /…
JimLiu/baoyu-skills
Creates standalone dark-themed SVG diagrams, including architecture, flowchart, sequence, structural, mind map, timeline and state machine types.
tech-leads-club/agent-skills
Generates Excalidraw diagram files from plain descriptions, choosing among flowcharts, mind maps, architecture, swimlane, class, sequence and ER diagrams.
lazypay/Archscribe
Create premium hand-drawn architecture, workflow, and swimlane diagrams in a dark neon or light paper style, with editable Excalidraw sources, PNG/SVG previews, animated GIF/MP4 output, and…
ooiyeefei/ccc
Turns meeting recordings into notes with a chain of custody from audio to claim, auditing transcripts for gaps and low-confidence numbers and names.
ooiyeefei/ccc
Builds marketing and explainer videos in Remotion from rendered scenes, with one real product capture as proof, and cuts them for each platform's formats.
ooiyeefei/ccc
Records a sharp product demo video by driving the real app with a browser agent, from storyboard to Xvfb capture and a narration script synced to the frames.
ooiyeefei/ccc
Sets up GA4 on a website and wires one real conversion event end to end, verified in DebugView before any money goes into ads.
ooiyeefei/ccc
Builds or rewrites SaaS landing pages by researching the real product, positioning it against alternatives and writing buyer-focused copy, then implementing it in the codebase.
ooiyeefei/ccc
Walks a site owner through installing the Meta Pixel, firing one conversion event and verifying it with the Pixel Helper before any ads run.
Works with
Categories
Generates architecture diagrams as .excalidraw files by analyzing a codebase, with optional PNG or SVG export through Playwright. excalidraw JSON with generated ids and labels. It can then export PNG or SVG with Playwright.
Excalidraw Architecture Diagrams fits situations like: generating an architecture diagram for a codebase; visualizing services, databases and data flows as an editable Excalidraw file; exporting an existing .excalidraw file to PNG or SVG.
Run `npx skills add ooiyeefei/ccc --skill excalidraw -a claude-code`. Or copy the skill folder (skills/excalidraw in ooiyeefei/ccc) into .claude/skills/excalidraw in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ooiyeefei/ccc --skill excalidraw -a codex`. Or copy the skill folder (skills/excalidraw in ooiyeefei/ccc) into .agents/skills/excalidraw in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ooiyeefei/ccc --skill excalidraw -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/excalidraw, .gemini/skills/excalidraw, .github/skills/excalidraw and .opencode/skills/excalidraw in your project.
SKILL.md names no scripts, command-line tools or credentials: Excalidraw Architecture Diagrams is instructions for the agent only. Our summary lists: Playwright for PNG or SVG export.
SKILL.md names 1 domain. As links in the text: excalidraw.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Excalidraw Architecture Diagrams is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 7.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 8.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Excalidraw Architecture Diagrams: Excalidraw Diagram (infometa/workbuddyskills, 346 stars), Whiteboard Video (trustfuture/simon-skills, 374 stars), Whiteboard Video Factory (wwwzhouhui/skills_collection, 283 stars) and SVG Diagram Generator (JimLiu/baoyu-skills, 26k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ooiyeefei (a GitHub user) maintains it in ooiyeefei/ccc, which has 494 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on July 29, 2026.
Source: ooiyeefei/ccc on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.