Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add fakoli/fakoli-plugins/plugin install excalidraw-diagramWrote 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.
[](https://agentmods.dev/skills/fakoli/fakoli-plugins/excalidraw)<a href="https://agentmods.dev/skills/fakoli/fakoli-plugins/excalidraw"><img src="https://agentmods.dev/badge/skills/fakoli/fakoli-plugins/excalidraw.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00027 | $0.01477 |
| Opus 5 | $0.00014 | $0.00739 |
| Sonnet 5 | $0.00005 | $0.00295 |
| Haiku 4.5 | $0.00003 | $0.00148 |
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 5d ago.
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.
How it starts
The opening of the file, as written. The whole thing — 145 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Excalidraw Diagram Generation Skill
Generate .excalidraw diagram files from natural language descriptions or code analysis. Uses a skeleton JSON intermediate format and a zero-dependency Node.js converter script.
Quick Reference
| Action | How |
|---|---|
| Create a diagram | Generate skeleton JSON, pipe to converter |
| Modify a diagram | Read existing file, generate additions skeleton with --modify |
| Change layout | Set "layout" in skeleton: grid, top-down, left-right |
| Change theme | Set "theme" in skeleton: default, blueprint, warm, monochrome |
Converter Script Location
CONVERTER_PATH="${CLAUDE_PLUGIN_ROOT}/scripts/convert.js"
Workflow
1. Create a New Diagram
Write skeleton JSON to a temp file, then run the converter:
# Write skeleton to temp file
cat > /tmp/excalidraw-skeleton.json << 'SKELETON_EOF'
{
"type": "excalidraw-skeleton",
"version": 1,
"theme": "default",
"layout": "top-down",
"elements": [
{ "type": "ellipse", "id": "start", "label": "Start", "color": "green", "width": 120, "height": 60 },
{ "type": "rectangle", "id": "process", "label": "Process Data", "color": "blue" },
{ "type": "diamond", "id": "decision", "label": "Valid?", "color": "orange", "width": 140, "height": 100 },
{ "type": "rectangle", "id": "success", "label": "Save Result", "color": "green" },
{ "type": "rectangle", "id": "error", "label": "Handle Error", "color": "red" },
{ "type": "arrow", "from": "start", "to": "process" },
{ "type": "arrow", "from": "process", "to": "decision" },
{ "type": "arrow", "from": "decision", "to": "success", "label": "Yes" },
{ "type": "arrow", "from": "decision", "to": "error", "label": "No" }
]
}
SKELETON_EOF
# Convert
node "${CLAUDE_PLUGIN_ROOT}/scripts/convert.js" /tmp/excalidraw-skeleton.json ./diagram.excalidraw
2. Modify an Existing Diagram
# Write additions skeleton
cat > /tmp/excalidraw-additions.json << 'SKELETON_EOF'
{
"type": "excalidraw-skeleton",
"version": 1,
"elements": [
{ "type": "rectangle", "id": "cache", "label": "Redis Cache", "color": "red", "x": 500, "y": 200, "width": 180, "height": 70 },
{ "type": "arrow", "from": "cache", "to": "db", "label": "Fallback", "style": "dashed" }
],
"remove": ["legacy-adapter"]
}
SKELETON_EOF
# Modify
node "${CLAUDE_PLUGIN_ROOT}/scripts/convert.js" --modify ./architecture.excalidraw /tmp/excalidraw-additions.json ./architecture-updated.excalidraw
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 5d ago First seen · 145 lines · 27 tokens per session scan A 217e721f00d5
excalidraw is a skill published in the GitHub repository fakoli/fakoli-plugins (4 stars, last pushed 27d ago), licensed MIT. It adds 27 tokens to every session and 1,477 once invoked, about $0.0001 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-31.
Other skills, from other repositories
better-auth-knowledge-patch
Use this skill when implementing, upgrading, debugging, or reviewing Better Auth applications. Start with the quick references below, then load the topic file that matches the task.
clickhouse-knowledge-patch
Use this skill when writing, reviewing, upgrading, or operating ClickHouse SQL and server configurations. Start with the compatibility-sensitive items below, then load the topic reference that matches the task.
arch-knowledge-patch
Restart the daemon immediately after upgrading openssh to 9.8p1 because the old daemon cannot accept new connections.
axum-knowledge-patch
Axum 0.8 uses return-position impl Trait in FromRequestParts and FromRequest. Implement their methods with native async fn; do not retain the old #[asynctrait] annotation.
caddy-knowledge-patch
Use this patch when writing or reviewing Caddyfile or JSON configuration, upgrading Caddy, building custom binaries, or operating Caddy's HTTP, proxy, certificate, and telemetry features.
cloudflare-d1-knowledge-patch
Use this skill when designing, implementing, migrating, operating, or debugging Cloudflare D1 databases. Check the project’s Wrangler configuration, binding usage, database generation, account plan, and remote-versus-local command flags before applying guidance.