cost-optimizer
Trigger when the user asks to audit Claude Code costs, reduce token spend, says "my Claude bill is too high", "optimize my…
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
$ npx -y skills add mergisi/awesome-openclaw-agents --skill excalidraw-architecture --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/excalidraw-architectureContext 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
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.
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.
1. **Survey the codebase.** Use Glob and Grep to identify:
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.
A curated collection of 205 production-ready AI agent templates for the OpenClaw ecosystem. Every template is a copy-paste ready SOUL.md file.
Trigger when the user asks to audit Claude Code costs, reduce token spend, says "my Claude bill is too high", "optimize my…
Trigger when the user asks to write a commit message, generate a commit from staged changes, review a diff before committing, or…
Trigger when the user asks which model to use, wants to compare model costs, says "what's cheapest for this task", "should I use…
Trigger when an OpenClaw agent is broken, silent, crashing, stuck, not responding, returning empty output, or the user says "my…
Paste any code snippet and get a plain English explanation of what it does and how it works.
Generate a clean, conventional commit message from a description of your changes.