Excalidraw Architecture logo

Excalidraw Architecture

CommunityPopular
mergisi
excalidraw-architecture

Trigger when the user asks for an architecture diagram, says "draw the system", "update the architecture diagram", "give me an excalidraw of this codebase", or "/excalidraw-architecture". Generates or updates an Excalidraw JSON file at docs/architecture.excalidraw by reading the codebase's key entry points.

Overview

Publishermergisi
Repositoryawesome-openclaw-agents
Skill nameexcalidraw-architecture
Stars
4K
Forks
649
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by mergisi on GitHub. Read the source before you install it.

Installation

Install the Excalidraw Architecture AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/mergisi/awesome-openclaw-agents.git /tmp/awesome-openclaw-agents
mkdir -p .claude/skills
cp -r /tmp/awesome-openclaw-agents/skills/claude/excalidraw-architecture .claude/skills/excalidraw-architecture
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Excalidraw Architecture in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Excalidraw Architecture on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Excalidraw Architecture is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Excalidraw Architecture

Produce an architecture diagram of the current project as an Excalidraw file (docs/architecture.excalidraw). The diagram shows services, entry points, data stores, and the edges between them — the kind of whiteboard sketch you'd draw in a design review.

Inspired by Bilgin Ibryam's Medium post on "Architecture diagrams as code with Claude Code + Excalidraw" — credit: @bibryam. This skill is a lightweight reimplementation for OpenClaw-style repos.

When to use

  • New contributor asks "what does this repo look like?"
  • User wants to update a stale architecture diagram after a refactor
  • User says "draw me the system", "excalidraw the backend", "/excalidraw-architecture"
  • Preparing a design doc and needs a canonical diagram

Instructions

  1. Survey the codebase. Use Glob and Grep to identify:
    • Entry points: main.*, index.*, server.*, api/**/route.*, cmd/*/main.go, package.json "scripts" field, Dockerfile CMD.
    • Data stores: mentions of postgres, redis, convex, sqlite, s3, mongodb, prisma.
    • External services: Stripe, OpenAI, Anthropic, Twilio, SendGrid, webhook handlers.
    • Internal modules: top-level folders under src/, app/, lib/, agents/. Read at most 3-5 key files to confirm how the pieces connect — don't try to read the whole repo.
  2. Sketch the model mentally. List nodes (rectangles) and edges (arrows with labels like "HTTP", "SQL", "pub/sub"). Group related nodes into clusters.
  3. Generate the Excalidraw JSON. The file format is standard Excalidraw:
    json
    {
      "type": "excalidraw",
      "version": 2,
      "source": "https://excalidraw.com",
      "elements": [ /* rectangle, arrow, text elements */ ],
      "appState": { "viewBackgroundColor": "#ffffff", "gridSize": 20 },
      "files": {}
    }
    Each element needs at minimum: id, type (rectangle / arrow / text / ellipse), x, y, width, height, angle: 0, strokeColor, backgroundColor, fillStyle, strokeWidth, roughness, opacity, seed, versionNonce, isDeleted: false, groupIds: [], boundElements, updated, link: null, locked: false. For text elements add text, fontSize, fontFamily, textAlign, verticalAlign. For arrows add points, startBinding, endBinding. Use integer pixel coordinates on a ~20px grid. Arrange nodes left-to-right by data flow.
  4. Do not hand-forge exotic fields you're unsure about. If a field is optional and you're not confident, omit it — Excalidraw is forgiving on load. When in doubt, open the resulting file in the Excalidraw web app and confirm it renders; fix any errors it reports.
  5. Write the file to docs/architecture.excalidraw using the Write tool. If the directory doesn't exist, create it first with mkdir -p docs.
  6. Offer to open it. Suggest the user run:
    bash
    open docs/architecture.excalidraw   # macOS — opens in Excalidraw desktop app if installed
    Or drag-drop into excalidraw.com.
  7. Update vs regenerate. If docs/architecture.excalidraw already exists, read it first. If the existing layout still fits, only add/move the nodes that changed. If the shape of the system has changed significantly, tell the user and regenerate from scratch.

Style guidelines

  • Rectangles for services, ellipses for datastores, small rectangles with dashed stroke for external SaaS.
  • Arrows labelled with the protocol (HTTP, gRPC, SQL, webhook).
  • Max ~15 nodes. If the system is bigger, produce a top-level diagram and suggest follow-up per-subsystem diagrams.
  • Leave a title text element at the top: <repo name> — architecture (generated <date>).

Example invocations

  • /excalidraw-architecture
  • "Draw the architecture of this repo"
  • "Update docs/architecture.excalidraw — I just added a Redis queue"
  • "Give me an excalidraw diagram of how the OpenClaw gateway talks to agents"

Frequently asked questions

What does the Excalidraw Architecture AI skill do?

Trigger when the user asks for an architecture diagram, says "draw the system", "update the architecture diagram", "give me an excalidraw of this codebase", or "/excalidraw-architecture". Generates or updates an Excalidraw JSON file at docs/architecture.excalidraw by reading the codebase's key entry points.

Why use Excalidraw Architecture on TypingMind?

Because you install it once and use it with any model. Excalidraw Architecture is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Excalidraw Architecture in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/mergisi/awesome-openclaw-agents/tree/main/skills/claude/excalidraw-architecture. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Excalidraw Architecture?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Excalidraw Architecture?

As many as you like. As long as a model supports skills, you can use Excalidraw Architecture with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Excalidraw Architecture AI skill free?

Yes. It is published on GitHub by mergisi under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇