Skip to main content

obsidian-excalidraw-cli

Create, inspect, edit and render Obsidian Excalidraw drawings through the running app's native CLI.

Quellinformationen

Repository
zsviczian/obsidian-excalidraw-plugin
Letzte Quellaktivität
28. Oktober 2026 um 05:25
Erkannte Sprache von SKILL.md
Englisch
Sterne
7.801
Forks
523

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
obsidian-excalidraw-cli
description
Create, inspect, edit and render Obsidian Excalidraw drawings through the running app's native CLI.
Use a local terminal with Obsidian running and CLI enabled (API 1.12.2+). Always put vault="<name or ID>" before the command. Native root: obsidian-excalidraw-plugin. Start with obsidian vault="<vault>" obsidian-excalidraw-plugin:help, then :schema action=create. All results use apiVersion 1. Check ok, mutation and persistence; process exit zero alone does not prove success. Put large requests in a visible vault-relative JSON file and pass input="<file>". Inline json is for small requests. Requests in files include apiVersion:1; the native command supplies command. The in-process ea.executeCLI request also includes command. Use exact drawing paths including extensions. Never assume an active drawing. :open explicitly creates a tab and can run configured drawing scripts. Loop: :read source=live detail=elements (or detail=images to inventory) → :apply with expectedRevision and a unique requestId → check persistence=saved → :export → inspect the image file. For duplicate views use the view ID from :open or :read. Refresh after STALE_REVISION; retry BUSY with the same requestId only when refused before execution; unknown outcomes require read-back. New skeleton IDs are local labels; use returned idMap actual IDs for updates. Updates reject identity, bindings and asset internals. Every write requires requestId. Repeat the identical effective request to retrieve its receipt; different content with the same ID fails. :result requestId=<id> recovers a receipt after lost stdout. Receipts expire after 15 minutes/reload; unknown outcome requires read-back before another write. :api surface=ea name=<method> gives existing EA signatures. :api surface=lib lists the supported installed Lib reference; advanced exports remain available to scripts. :icons query=<name> discovers installed canonical Lucide names (paged); create icons / apply op=lucide insert editable native groups. groupMap maps logical icon aliases to groupId/elementIds; idMap remains single-element only. Defaults: size=96, strokeColor=#1e1e1e, roughness=1, opacity=100; optional strokeWidth is final scene units. No trusted script is required. :script requires trusted=true and an explicit existing local script file. utils.input contains args; utils.excalidrawLib is the installed runtime. Await all work; completion does not imply saved drawing. One-shot EA is cleaned up; utility prompts fail INTERACTION_REQUIRED. Trusted code can still invoke other interactive APIs: this is not a sandbox, timeout cancellation or transaction. Export names an explicit out=.svg/.png; overwrite=true is required for existing outputs. Live exports never implicitly save. Disk exports require local Vault assets; use a loaded live source or placeholders for remote assets. For cheap previews: :read detail=images, then :export imagePolicy={"default":"placeholder","rules":[{"ids":["wanted-id"],"mode":"original"}]}. This is lossless for the underlying drawing, not the preview. imageMetadata apply operations set bounded descriptive label/tags, with null clearing; request-only imagePolicy.labels does not persist. Thumbnail mode uses thumbnailMaxDimension=512 by default; only PNG/JPEG/WebP with safe preflight dimensions are decoded (24 MiB / 16 million pixels maximum). maxWidth/maxHeight/maxPixels bound output dimensions; maxArtifactBytes caps final bytes. Source revision covers originals; representationId identifies the preview. SVG width controls display size, not embedded raster payload size; use imagePolicy for that. Use :schema for exact fields, operation limits, and runnable examples. Do not edit compressed drawing Markdown directly or install another Excalidraw CLI.
Auf GitHub ansehen