Skip to content
AI & Agents
Skill

/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

BOOST
From plugin
awesome-openclaw-agents
4k16 skills1 agent
Install
$ npx -y skills add mergisi/awesome-openclaw-agents --skill excalidraw-architecture --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/excalidraw-architecture

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

excalidraw-architecture.SKILL.md
name: excalidraw-architecture
description: 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.

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](https://medium.com/@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:

   {
     "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:

   open docs/architecture.excalidraw   # macOS — opens in Excalidraw desktop app if installed

Or drag-drop into [excalidraw.com](https://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"
Read more
Ships withawesome-openclaw-agents

A curated collection of 205 production-ready AI agent templates for the OpenClaw ecosystem. Every template is a copy-paste ready SOUL.md file.

Get the whole plugin

Other skills on awesome-openclaw-agents.