excalidraw

excalidraw is a skill for Codex from fabricioartur/codex-excalidraw-skill. It costs 95 tokens per session (3,233 once invoked), scanned A, original, MIT.

A tool for creating and editing Excalidraw diagrams, which are hand-drawn-style diagrams stored as editable files.

In plain words
What is it for?
Building or revising process flows, system diagrams, user journeys, and workshop visuals as .excalidraw files.
Why use it?
It keeps architecture sketches, workflows, and other diagrams editable instead of turning them into fixed images.

Skill for Codex

Written for Codex: agents/openai.yaml present. Also seen: mentions Codex.

Good fit Building or revising process flows, system diagrams, user journeys, and workshop visuals as .excalidraw files.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/fabricioartur/codex-excalidraw-skill/skill
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add fabricioartur/codex-excalidraw-skill --skill skill
Clone the repo
git clone --depth 1 https://github.com/fabricioartur/codex-excalidraw-skill

Made for: Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for excalidraw

README.md
[![agentmods](https://agentmods.dev/badge/skills/fabricioartur/codex-excalidraw-skill/skill/github.svg)](https://agentmods.dev/skills/fabricioartur/codex-excalidraw-skill/skill)
Your own site
<a href="https://agentmods.dev/skills/fabricioartur/codex-excalidraw-skill/skill"><img src="https://agentmods.dev/badge/skills/fabricioartur/codex-excalidraw-skill/skill/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for excalidraw

Your own site · 80×15
<a href="https://agentmods.dev/skills/fabricioartur/codex-excalidraw-skill/skill"><img src="https://agentmods.dev/badge/skills/fabricioartur/codex-excalidraw-skill/skill.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 95 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,233 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00095 $0.03233
Opus 5 $0.00048 $0.01617
Sonnet 5 $0.00019 $0.00647
Haiku 4.5 $0.00010 $0.00323

Measured 9d ago against content hash 867edc987f7e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

excalidraw scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

The scan reads SKILL.md. This mod also ships 9 executable files (scripts/create_building_elevation.py, scripts/create_tactical_roster.py, scripts/create_web_diagram.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skill/SKILL.md · 218 lines

How it starts

The opening of the file, as written. The whole thing — 218 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Excalidraw

Overview

Create diagrams as real .excalidraw JSON, not screenshots, so the user can keep editing them in Excalidraw. Prefer simple editable shapes, text, arrows, frames, and grouped sections over pixel-perfect artwork.

Important boundary: this skill can create editable files and preview pages, but a skill alone cannot create a native inline Excalidraw widget with live editing, checkpoint restoration, or host-provided buttons inside the chat UI. That experience requires an MCP/app/widget integration that exposes operations like read_me, create_view, checkpoint storage, and widget rendering.

Core Workflow

  1. Clarify the diagram intent only when the request lacks the actors, nodes, or flow.
  2. Decide whether this is a new diagram or an edit to the previous diagram:
    • If the user asks to adjust, change, add, remove, make bigger/smaller, recolor, relabel, simplify, improve, or otherwise revise "this", "that", "the diagram", or "the last one", use the incremental edit workflow below.
    • If the user asks for a new subject, create a new diagram.
  3. Default to web-link handoff for new diagrams:
    • Use scripts/create_web_diagram.py and pass the spec through stdin.
    • Let the script create its own temporary folder under /private/tmp.
    • Request network permission during generation so Codex can upload the encrypted scene and return a ready https://excalidraw.com/#json=... link.
    • Return the preview image, the local preview page path, and the ready Excalidraw Web URL.
    • The local preview page must include an Open in Excalidraw button that points directly to the ready web URL.
    • Use --no-web-link only when the user explicitly asks for local-only/offline output or refuses network access.
    • Persist a copy of the latest diagram in the default state directory, or in CODEX_EXCALIDRAW_STATE_DIR when configured, with scripts/session_state.py save so later edits can reuse it.
  4. Choose the fastest path:
    • For simple node-and-edge diagrams, use scripts/generate_excalidraw.py.
    • For soccer/football roster or tactical squad diagrams, use scripts/create_tactical_roster.py; do not hand-write the scene unless the template cannot represent the request.
    • For landmark/building elevation diagrams, use scripts/create_building_elevation.py; do not hand-write a building scene unless the template cannot represent the request.
    • For Mermaid or standard diagram syntax, consult references/official-excalidraw.md and prefer the official @excalidraw/mermaid-to-excalidraw path when available.
    • For spatial, editorial, tactical, dashboard-like, swimlane, field/court/map, roster, org chart, comparison, or visually composed diagrams, edit/create the JSON directly using references/format.md; do not force these into generic boxes and arrows.
  5. Save output with the .excalidraw extension when a file is needed.
  6. Generate a preview when the user expects to see the diagram in chat or browser:
    • Prefer --preview with scripts/generate_excalidraw.py for generated diagrams.
    • For direct JSON edits, create a separate SVG preview, generate a ready web URL when permitted, and use scripts/preview_page.py to create the HTML preview with the Open in Excalidraw button.
  7. Validate the result with scripts/validate_scene.py when an .excalidraw file exists. It checks top-level shape, duplicate IDs, invisibly small elements, and text likely to be unreadable.
  8. Run the visual quality gate in references/quality-gate.md before delivery. Fix readability or layout problems before showing the user.
  9. Save latest-state metadata with scripts/session_state.py save unless the user explicitly asks for a throwaway diagram.
  10. Tell the user what is available: preview image first, then the ready Excalidraw Web link and local preview page with the Open in Excalidraw button.

Read the full file on GitHub · 218 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago First seen · 218 lines · 95 tokens per session scan A 867edc987f7e

Subscribe to this mod's changes

excalidraw is a skill published in the GitHub repository fabricioartur/codex-excalidraw-skill (20 stars, last pushed 3mo ago), licensed MIT. It adds 95 tokens to every session and 3,233 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

design-audit

Premium UI/UX design auditor with Jobs/Ive philosophy. Use when reviewing, evaluating, or elevating existing UI — triggers on "audit my design", "review UI", "make it feel premium", "design review", "UX audit", "elevate the design", "Jobs/Ive style", or when asked to improve visual quality of an existing interface…

jdrhyne/agent-skills · 81 tokens

double-diamond

A four-stage design method for understanding a problem, defining it clearly, exploring possible solutions, and choosing one to deliver.

Insajin/autopus-adk · 17 tokens

HTMLHero.skill

A workflow for building a working, previewable first-page hero section—a prominent opening area of a website—from a prompt, brand direction, and visual requirements. It can work with HTML or React projects and treats the hero as the visual template for later pages.

YiShu5/claude-skills · 107 tokens

HTMLPPT.skill

A workflow for turning a designed HTML page or existing web project into a multi-page presentation that runs in a browser. It keeps later slides consistent with the first page's visual style.

YiShu5/claude-skills · 114 tokens

design-review

Use when adding or restyling a Facet UI component, or before merging a UI PR — walks the component against DESIGN.md (tokens, states, a11y, contrast, responsive) so the design system is matched, not just remembered. The judgment check verify.sh can't grep.

PromptPartner/agentsmith · 61 tokens

make-interfaces-feel-better

Use when building or reviewing UI polish: typography, hit areas, nested radius, optical alignment, shadows, media outlines, micro-interactions, and animation performance.

Insajin/autopus-adk · 40 tokens